android - Menu的click監(jiān)聽器可以使用switch()case來匹配具體點擊的Item嗎?
問題描述
自定義的一個菜單組件,想對里面的item設(shè)置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來匹配,但一時間想不起來應(yīng)該怎么設(shè)置匹配方式。對于button這類有綁定view的可以使用view.getId()來匹配,但這種自定義的應(yīng)該怎么設(shè)置呢。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 的點擊事件 復(fù)寫這個方法 onOptionsItemSelected(MenuItem item) 你在方法里面根據(jù) itemId 來進行判斷就可以了。
相關(guān)文章:
1. javascript - 數(shù)組原聲方法中的一段代碼2. python小白的基礎(chǔ)問題 關(guān)于while循環(huán)的嵌套3. MySQL客戶端吃掉了SQL注解?4. javascript - JS設(shè)置Video視頻對象的currentTime時出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...5. 求大神幫我看看是哪里寫錯了 感謝細心解答6. javascript - 百度echarts series數(shù)據(jù)更新問題7. python - Django分頁和查詢參數(shù)的問題8. javascript - 圖片能在網(wǎng)站顯示,但控制臺仍舊報錯403 (Forbidden)9. php自學(xué)從哪里開始?10. phpstady在win10上運行
