android - Menu的click監(jiān)聽器可以使用switch()case來匹配具體點擊的Item嗎?
問題描述
自定義的一個菜單組件,想對里面的item設置click監(jiān)聽。
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) 你在方法里面根據(jù) itemId 來進行判斷就可以了。
相關(guān)文章:
1. 數(shù)組按鍵值封裝!2. java - 阿里的開發(fā)手冊中為什么禁用map來作為查詢的接受類?3. docker不顯示端口映射呢?4. javascript - webpack中alias配置中的“@”是什么意思?5. javascript - 使用vue官方腳手架進行單元測試,如何覆蓋到watch里的變量?6. javascript - 為什么創(chuàng)建多行多列的表格最后只有一行內(nèi)有表格7. clone - git sourceTree克隆倉庫時,都不停彈出Password Required彈窗,即時輸入正確的git賬號密碼還是彈出8. 如何用Java向kafka發(fā)送json數(shù)據(jù)9. 主題切換問題,用過別人的webapp在后臺切換模板主題后手機端打開網(wǎng)頁就是切換到的主題了10. html5 - 使用echarts中的圖表 一個頁面導入了好幾個js圖表 實現(xiàn)echarts圖表隨著瀏覽器窗口變化而變化時出現(xiàn)了問題
