android - 我们如何在 R.id 中使用变量

标签 android absolutelayout

xml的内容是

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MainFrame"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<AbsoluteLayout
    android:id="@+id/AbsoluteLayout1"
    android:layout_width="match_parent"
    android:layout_height="172dp"
    android:layout_x="12dp"
    android:layout_y="26dp"
    android:visibility="invisible" >

</AbsoluteLayout>

  <AbsoluteLayout
    android:id="@+id/AbsoluteLayout2"
    android:layout_width="match_parent"
    android:layout_height="172dp"
    android:layout_x="20dp"
    android:layout_y="184dp" android:visibility="invisible">

</AbsoluteLayout>

</AbsoluteLayout>

主要代码如下

String layoutid;
int ctr = 1;
AbsoluteLayout [] mainlayout = new AbsoluteLayout[12];

   while (ctr<3)
   {
        layoutid = "AbsoluteLayout" + ctr;
        mainlayout[ctr] = (AbsoluteLayout)findViewById(R.id.layoutid);
        ctr++;
   }

我们需要做一个循环来制作

 ctr = 1 
 AbsoluteLayout + ctr = AbsoluteLayout1 
 ctr++; 

 AbsoluteLayout + ctr = AbsoluteLayout2

我们想声明 AbsoluteLayout1 和 AbsouluteLayout2 但它不起作用。我们知道 R.id.layoutid 是罪魁祸首。那么我们该如何解决呢?

最佳答案

我用getIdentifier方法解决了

Button[] buttons; 
for(int i=0; i<buttons.length; i++) {
{
   String buttonID = "sound" + (i+1);

   int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
   buttons[i] = ((Button) findViewById(resID));
   buttons[i].setOnClickListener(this);
}

关于android - 我们如何在 R.id 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227310/

相关文章:

android - 替代 AbsoluteLayout

xamarin.forms - Xamarin Forms - AbsoluteLayout - 如何工作的位置

android - 管理大文件(代码行)

java - 如何强制对象捕捉到网格?

java - 我无法在equals方法中正确比较

java - OneSignal 推送通知退订用户 Android

Android 绝对布局/参数(在运行时移动小部件)

java - 如何使用 setLayout(null) 和背景图像将 JPanel 绝对定位在另一个 JPanel 之上?

android - 需要语音识别没有谷歌对话框

java - 从作为几个局部变量之一的 JTextField 获取数据