目前我小心翼翼地为每个小部件使用不同的ID,但是如果我对不同布局xml文件中的某些小部件使用相同的id,那么我对findViewById的调用会怎样?是否会混淆并从错误的布局文件返回一个小部件?
我问,因为我想在其他一些视图中包含一个视图(带有一行按钮),然后每个屏幕类都必须为包含的视图上的每个按钮指定一个稍微不同的行为.但要做到这一点,他们会在相同的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更改为指向每个关联布局中的窗口小部件.如果我可以使用一个R.id,那将是很好的,所以我不必调整每个布局文件和每个屏幕类.
谢谢