我只是用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>
答案 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){
}
像这样的事情。