java - 如何使用循环构造来迭代某些 View id?

标签 java android

不要执行以下操作,

ButtonHandler bh = new ButtonHandler();
findViewById(R.id.button1).setOnClickListener(bh);
findViewById(R.id.button2).setOnClickListener(bh);
findViewById(R.id.button3).setOnClickListener(bh);

这看起来太冗长了,我尝试按如下方式重写它们但失败了。

ButtonHandler bh = new ButtonHandler();
for (int id : int[]{R.id.button1, R.id.button2, R.id.button3}) {
    findViewById(id).setOnClickListener(bh);
}

问题

如何使用循环构造来迭代上面提到的某些 View id?

enter image description here

最佳答案

ButtonHandler bh = new ButtonHandler();
int[] arr = {R.id.button1, R.id.button2, R.id.button3};
for (int id : arr) {
    findViewById(id).setOnClickListener(bh);
}

只需在外部声明数组即可解决我的问题。

关于java - 如何使用循环构造来迭代某些 View id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48954890/

相关文章:

java - 对泛型类和 ArrayLists 的困惑

java - GCM getToken() 发送 java.io.IOException : TIMEOUT on some devices

java - Java 应用程序的自动属性文档

android - DataSource.Invalidate() 之后新的 PagedList 只有一页

android - 使用 BroadcastReceiver 的 Awareness API 和 Android O

java - 使用 Hibernate + Javassist + Gilead 时出现 "Duplicate method"错误

java编译问题。大概很简单

android - 如何使渐变在 HTC Magic 等老式/廉价 Android 设备上看起来平滑?

c# - 有没有什么解决方案可以用 C# 开发黑莓应用程序,比如用于 Android 的 Mono 或 Monotouch?

android - 如何在方法中注入(inject)依赖项?