目前我小心地爲每個小部件使用不同的ID,但是如果我在不同的佈局xml文件中使用相同的id來處理一些小部件,我的findViewById調用會發生什麼?它會混淆並從錯誤的佈局文件返回一個小部件?如果我在不同佈局的多個小部件中使用相同的id,會發生什麼情況?
我問,因爲我想在其他視圖中包含視圖(帶有一排按鈕),那麼每個屏幕類都必須爲包含視圖上的每個按鈕分配一個稍微不同的行爲。但要做到這一點,他們會在同一個ID上調用findViewById。 比如目前我不喜歡這個在每個文件:
final ImageButton homeButton = (ImageButton)this.findViewById(R.id.rshome_button);
homeButton.setOnClickListener(new BottomButtonClickListener());
final ImageButton hotButton = (ImageButton)this.findViewById(R.id.rshotlist_button);
hotButton.setOnClickListener(new BottomButtonClickListener());
final ImageButton locButton = (ImageButton)this.findViewById(R.id.rsbot_map);
locButton.setOnClickListener(new BottomButtonClickListener());
final ImageButton sendButton = (ImageButton)this.findViewById(R.id.rssend_button);
sendButton.setOnClickListener(new BottomButtonClickListener());
但我改變R.id每個文件指向窗口小部件中的每個assiciated佈局。如果我可以使用一個R.id,那麼我不需要調整每個佈局文件和每個屏幕類。
感謝
那麼它是如何知道我們正在尋找哪一個? – GMsoF 2013-09-06 07:23:28