setOnLongClickListener中return值


今天在做一個按鈕的長按事件,長按的時候彈出一個Dialog彈出框,點擊則是進入到下一個界面。

 

在我調試的時候,發現長按確實彈出了一個Dialog,但是同事他還跳轉到下一個界面了。

 

這么說,就是在我長按的時候,出發了setOnLongClickListener和OnClick事件。

 

后面查詢資料發現,確實如此。

 

setOnLongClickListener中return的值決定是否在長按后再加一個短按動作
true為不加短按,false為加入短按
比如:以下代碼只會執行長按事件
mBtn.setOnLongClickListener(new OnLongClickListener() {
	@Override
	public boolean onLongClick(View v) {
		return true;
	}
});

 

打個比方,就是說當return返回值為true的時候,代表這個事件已經消耗完了,返回值為false的時候他還會繼續傳遞,結果再加上一個短按。

 

其次,Activity中的onKeyDown也是如此。

 

返回true的時候表示事件已經完整的執行完畢了,不再執行其他的回調函數,返回false表示並未完全處理完該事件還會繼續調用其他回調函數。具體的效果有時間的童鞋可以嘗試一下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM