我正在通過擴展LinearLayout來創建自定義小部件。我的自定義小部件中的一個元素是線性佈局,從另一個佈局誇大。當我設置OnClickListener時,它沒有響應。你能給些建議麼?LinearLayout OnClickListener沒有響應
謝謝!
我正在通過擴展LinearLayout來創建自定義小部件。我的自定義小部件中的一個元素是線性佈局,從另一個佈局誇大。當我設置OnClickListener時,它沒有響應。你能給些建議麼?LinearLayout OnClickListener沒有響應
謝謝!
您是否聲明LinearLayout是可點擊的?
你可以做到這一點無論是在XML:
機器人:可點擊= 「真」
或Java代碼:
myLinearLayout.setClickable(真);
而且看到其他StackOverflow的線程上這樣一個問題:
layout.setClickable(true);爲我工作。我嘗試從XML標誌但不工作 – Lunatikul 2016-02-10 14:31:29
而不是使用setOnClickListener使用setOnTouchListener 的此代碼將作爲一個onclick事件
YourLinearLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
boolean returnValue = true;
if(event.getAction()==MotionEvent.ACTION_UP){ //on touch release
returnValue = false; //prevent default action on release
//do something here
}
return returnValue;
}
});
,然後添加這您的LinearLayout類攔截兒童觸摸事件
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true; //will prevent child touch events
}
請問我們有一些代碼嗎? – fredley 2010-09-01 13:21:48