Java 尝试使用字符串引用按钮
在我正在制作的一个应用程序中,我有一个包含15个按钮的活动和一个包含15个字符串的字符串[]。我正在寻找一种简单的方法,将string[]中的每个字符串分配给相应的按钮。我希望我能做点什么,比如:Java 尝试使用字符串引用按钮,java,android,Java,Android,在我正在制作的一个应用程序中,我有一个包含15个按钮的活动和一个包含15个字符串的字符串[]。我正在寻找一种简单的方法,将string[]中的每个字符串分配给相应的按钮。我希望我能做点什么,比如: for(int i; i<myStringArray.length; i++){ String ref = "btn" + (i + 1); ref.setText(resultString[i]); } 谢谢你的帮助 您可以使用您尝试使用的功能。在您的情况下,最好将按钮存储在
for(int i; i<myStringArray.length; i++){
String ref = "btn" + (i + 1);
ref.setText(resultString[i]);
}
谢谢你的帮助 您可以使用您尝试使用的功能。在您的情况下,最好将按钮存储在数组或地图中。我认为您可以通过一个Button[]表来解决这个问题,在该表中存储所有按钮对象,然后您可以通过索引而不是实际的对象名来访问它们: 按钮[]基站=新按钮[15] forint i=0;i
编辑:当然,你必须先用你的对象填充你的按钮[]BTN。一种可能的方法是将所有这些按钮放入一个数组并循环通过它…创建一个HashMap,然后简单地运行你的循环并通过传递字符串从映射中获取按钮,然后使用它设置文本。而不是按钮btn1、btn2、btnN使用按钮[]BTN回答你的另一个问题:是的,太宽泛将是这个问题的一个合法的接近的理由。这实际上是最好的解决方案,因为它将两个阵列连接起来。请记住,虽然他的按钮数组从1开始,但oyu应该将BTN[i]更改为BTN[i+1]@Nathan i表示表的索引,而不是对象名称中的数字,因此btn1存储在BTN[0]中,这就是为什么在for循环中我称BTN[i]而不是BTN[i+1]的原因,但是我从op的例子中假设他从I构建的字符串ref是按钮的直接文本。
btn1.setText(resultString[0]);
btn2.setText(resultString[1]);
btn3.setText(resultString[2]);
...