android - 带有对象名称的 For 循环

标签 android android-layout

如果我在 android 中有一个按钮数组,并且想通过 for 循环获取这些按钮 (findviewbyid),我该怎么做?假设我在我的 xml 中定义了 button1、button2 和 button3。如何将 arr[0]、arr[1] 和 arr[2] 分配给它们?

for(int a = 0; a < arr.length; a++){
     arr[a] = (Button) findViewById(R.id.button[a + 1]); //Doesn't work
}

提前致谢!

最佳答案

尝试实现这个:

for(int a=0; a<arr.length; a++) {
    String buttonID = "btn" + a;
    int resID = getResources().getIdentifier(buttonID, "id", "com.package.your_app");   

    // To fetch Package name, you can directly call getPackageName() instead of static string "com.package.your_app

    buttons[a] = ((Button) findViewById(resID));
    buttons[a].setOnClickListener(this);
}

关于android - 带有对象名称的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7953809/

相关文章:

android - SharedPreferences.onSharedPreferenceChangeListener 没有被一致地调用

android - Android TV INSTALL_FAILED_OLDER_SDK

Android:LinearLayout$LayoutParams.<init> 上的 java.lang.NoSuchMethodError

android - 如何在 android 中为底部导航栏设置顶部边框,如图所示

android - 协调器布局和运动布局有什么区别?

安卓模拟器 : both soft input and hard keyboard input

java - 方法调用 ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);可能会产生 NullPointerException

java - 如何在Android上使用jena本体API?

android - 使用 support.v7.preference 时首选项子屏幕未打开

Android - Horizo​​ntalScrollView 在键盘打开时向右滚动