您的位置:首頁技術文章
文章詳情頁

android - Menu的click監聽器可以使用switch()case來匹配具體點擊的Item嗎?

瀏覽:146日期:2024-09-12 14:15:34

問題描述

自定義的一個菜單組件,想對里面的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好像不行呢。android - Menu的click監聽器可以使用switch()case來匹配具體點擊的Item嗎?android - Menu的click監聽器可以使用switch()case來匹配具體點擊的Item嗎?

問題解答

回答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 來進行判斷就可以了。

相關文章:
国产综合久久一区二区三区