android – 如果我在不同的布局中为几个小部件使用相同的id,会发生什么?

前端之家收集整理的这篇文章主要介绍了android – 如果我在不同的布局中为几个小部件使用相同的id,会发生什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前我小心翼翼地为每个小部件使用不同的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,那将是很好的,所以我不必调整每个布局文件和每个屏幕类.

谢谢

解决方法

只要您不在同一活动中实例化两个布局,它就应该没问题.但从未尝试过,我不想保证.

但是,如果Android代码生成器出错,我也不会感到惊讶,因为它可能会尝试在R.java文件中创建两个R.id.rshome_button条目.

原文链接:https://www.f2er.com/android/309311.html

猜你在找的Android相关文章