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. 點擊頁面就自動輸入到mysql.求解2. java - IDEA從SVN檢出項目 并在tomcat上運行 求詳細流程3. node.js - nodejs使用formidable上傳文件問題4. javascript - windos下第一次用Django無法正確創建工程目錄5. node.js - 帶有node_modules目錄的項目,用phpstorm打開速度極慢,怎么解決?6. java - 多叉樹求值,程序高手,算法高手看過來7. javascript - JS用ajax爬取百度外賣店家信息8. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?9. html5 - 有人做過防微信app界面的H5 demo嗎?10. css - 請問B站頂部的模糊半透明導航條是怎么實現的呢?
