gpt4 book ai didi

android - 没有为 PreferenceActivity 调用 onTouchEvent - 为什么?

转载 作者:行者123 更新时间:2023-11-29 14:51:23 26 4
gpt4 key购买 nike

我在我的应用程序中实现了这个非常简单的代码:

public class EditPreferences extends PreferenceActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v(TAG, "onCreate");
}


@Override
public boolean onTouchEvent(MotionEvent me) {
Log.v(TAG, "onTouchEvent");
return false;
}

}

当首选项屏幕/Activity 出现时,我希望在触摸该屏幕上的任何内容时看到“onTouchEvent”日志消息。

但是我没有收到任何消息。这告诉我甚至没有调用 onTouchEvent。

(不过,我可以看到“onCreate”消息。当然可以。)

为什么不调用 PreferenceActivity 的 onTouchEvent()?

是否有可能它被应用中的其他组件提前拦截了?

或者我在实现步骤中遗漏了什么?

最佳答案

那是因为,您实际上正在触摸一个默认由 PreferenceActivity 实现的 ListView,您需要改为调用 ListView 的 onTouch,检查以下代码:

getListView().setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getApplicationContext(), "touched", Toast.LENGTH_SHORT).show();
return false;
}
});

在您的 onCreate 方法中。

祝你好运。

关于android - 没有为 PreferenceActivity 调用 onTouchEvent - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com