android - onTouchEvent() 回调不起作用

标签 android android-layout android-intent android-emulator android-widget

我正在开发 Android 2.1 API 7 应用。

在我的 Activity 中,我添加了 onTouchEvent() 回调来处理 screen touch 事件:

public class MyActivity extends Activity{

   ...

   @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            //Did something here
            Log.v("TOUCH SCREEN", "test");
        }

        return super.onTouchEvent(event);
    }
}

我在真实设备上测试过,但是当我触摸屏幕时,似乎没有调用回调,因为我没有看到 Log.v(...) 信息。为什么??

最佳答案

我的问题:有没有onTouchListener?你有没有注册听众?为什么不返回 true,即使你自己处理事件?

这肯定有效:

public class TouchTestActivity extends Activity implements OnTouchListener {

    TextView textView;
    String text;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        textView = new TextView(this);
        textView.setOnTouchListener(this);
        textView.setClickable(true);
        textView.setEnabled(true);
        textView.setFocusable(true);
        textView.setFocusableInTouchMode(true);
        setContentView(textView);
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            text = "GETTING TOUCHED";
        }
        textView.setText(text);
        return true;
    }
}

关于android - onTouchEvent() 回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9516330/

相关文章:

android - 我想将 Scrollview 添加到 Button?

android - Android 4.2 中 RTL 语言的开始/结束和左/右

java - android:scaleType =“center”不能满足我的要求:dp和px如何工作?

android - 如何使用左下角的应用程序图标在 sdcard 上创建文件夹?

android - Gradle buildConfigField BuildConfig 无法解析符号

android - 如何从 Android WebView 中的远程 URL 访问本地资源?

android - 将参数从 Activity 传递到 fragment

android - 如何在椭圆形内画一个点

android - 构建android源代码

android - 异步任务类不适用于较新的 Android 版本