public String getTexts(int i, int j, String[][] setTexts){
String id = new String();
return id = setTexts[i][j];
}
for (int i = 0; i < weights.length; i++) {
for (int j = 0; j < weights[i].length; j++) {
final EditText setTexts[i][j] = (EditText)findViewById(R.id.getTexts(i,j,setTexts[][]));
}
}
我使用 getter 从一个名为“setTexts”的二维数组中获取一个值,该数组是我在显示的代码之前创建的,其中包含我想要更改的 EditTexts 的 id。然后,当我尝试使用该方法获取 ids 时,我收到“意外标记”和“无法解析方法“getTexts”。我也尝试过强制转换,但没有成功。
最佳答案
错误 - 您需要传递 setTexts
而不是 setTexts[][]
,因为该方法需要 2d 字符串数组。 setTexts[][]
参数无效
final EditText setTexts[i][j] = (EditText)findViewById(R.id.getTexts(i,j,setTexts));
旁注:
在getTexts
方法中,如果您只想使用setTexts[i][j]
,则该方法只能接受String
。 3 个参数似乎是多余的。
public String getTexts(String s){
String id = s;
return id;
}
您可以在将参数传递给方法时计算相同的结果
final EditText setTexts[i][j] = (EditText)findViewById(R.id.getTexts(setTexts[i][j]));
关于java - 将值从数组转换为 findViewById id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18557868/