android - Menu的click監聽器可以使用switch()case來匹配具體點擊的Item嗎?
問題描述
自定義的一個菜單組件,想對里面的item設置click監聽。
public class ResideMenuItem extends LinearLayout{}//自定義菜單項目private ResideMenuItem itemMusic;itemMusic = new ResideMenuItem(this,R.drawable.icon_home,'Music');itemMusic.setOnClickListener(this);
因為項目比較多,所以想用switch()case來匹配,但一時間想不起來應該怎么設置匹配方式。對于button這類有綁定view的可以使用view.getId()來匹配,但這種自定義的應該怎么設置呢。demo里用的是if (view == itemMusic){},但switch好像不行呢。
問題解答
回答1:View有setId(int id)方法,如
private ResideMenuItem itemMusic;itemMusic = new ResideMenuItem(this,R.drawable.icon_home,'Music');itemMusic.setId(0xff01);itemMusic.setOnClickListener(this);
這樣你就可以在switch里使用view.getId()來判斷了。
回答2:menu 的點擊事件 復寫這個方法 onOptionsItemSelected(MenuItem item) 你在方法里面根據 itemId 來進行判斷就可以了。
相關文章:
1. css3的背景圖片屬性有沒有把圖中這塊藍框區域(275*230)完整放在60*50區域?怎么寫呢2. javascript - jQuery each 方法第三個參數args 如何解釋?3. javascript - js中遞歸與for循環同時發生的時候,代碼的執行順序是怎樣的?4. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?5. android - 優酷的安卓及蘋果app還在使用flash技術嗎?6. javascript - 前端開發 本地靜態文件頻繁修改,預覽時的緩存怎么解決?7. 新手 - Python 爬蟲 問題 求助8. java - public <T> T findOne(T record) 這是什么意思9. mysql數據庫每次查詢是一條線程嗎?10. python - linux怎么在每天的凌晨2點執行一次這個log.py文件
