[英]How to detect when a user taps on a view in Android
我想檢測用戶何時點擊我的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!
觸摸事件是否在模擬器中起作用 - 或者我的代碼中出了什么問題?
我認為問題在於您的消息顯示代碼而不是您的觸摸檢測代碼。
您正在創建Toast
對象,但您沒有顯示它。 你需要調用show()
方法 。
此外, makeText()
方法的duration
參數應為LENGTH_SHORT
或LENGTH_LONG
。
嘗試:
Toast.makeText(this, "Down!", Toast.LENGTH_LONG).show();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.