我想检测用户何时在我的Android应用程序中点击视图中的任何位置。
我的代码如下所示:
linearLayout = (LinearLayout) findViewById(R.id.linearLayout); // main layout
// ...
linearLayout.setOnTouchListener(this);
// ...
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(this, "Touch!", 1000);
if (event.getAction() == MotionEvent.ACTION_DOWN) {
Toast.makeText(this, "Down!", 1000);
return true;
}
return false;
}
...但是当我点击视图时,我没有得到Toast!
触摸事件是否在模拟器中起作用 - 或者我的代码中出了什么问题?
答案 0 :(得分:12)
我认为问题在于您的信息显示代码,而不是您的触摸检测代码。
您正在创建Toast
对象,但您没有显示它。您需要拨打show()
method。
此外,the makeText()
method的duration
参数应为LENGTH_SHORT
或LENGTH_LONG
之一。
尝试:
Toast.makeText(this, "Down!", Toast.LENGTH_LONG).show();