Android Cant Detect Single Tap

时间:2014-02-04 23:44:41

标签: android

我只是用Android编程的几天,并且正面临触摸事件的问题。

我无法检测到手指向下和手指向上的事件,似乎被触发的唯一事件是手指向下,手指向上移动,但我所寻找的只是点击或手指向下/手指向上事件

  public boolean onTouchEvent(MotionEvent event) {
        int eva = event.getAction();

        switch (eva) {
            case MotionEvent.ACTION_DOWN: 
                break;

            case MotionEvent.ACTION_MOVE:
                break;

            case MotionEvent.ACTION_UP:   
                break;
        }

        Toast.makeText(getApplicationContext(),"Event", Toast.LENGTH_SHORT).show();
        return true; 
    }

在Javascript中,这只是一个点击事件,但看起来这不是那么容易吗?

修改

我应该提到视图是WebView而不是按钮,我试图在屏幕上的任意位置捕获一个点击:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <WebView 
        android:id="@+id/web_engine"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
     /> 

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

您可能应该使用OnClick侦听器界面,详细内容为here

一个简单的例子就像找到的那个here

   public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         setContentView(R.layout.content_layout_id);

         final Button button = (Button) findViewById(R.id.button_id);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }

答案 1 :(得分:0)

我认为可能是因为转换和休息。怎么用if而不是switch / break。

if(event.getAction() == MotionEvent.ACTION_DOWN){
}
if(event.getAction() == MotionEvent.ACTION_MOVE){
}
像这样的事情。