Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试在GridLayout中更改EditText中的文本_Java_Android - Fatal编程技术网

Java 尝试在GridLayout中更改EditText中的文本

Java 尝试在GridLayout中更改EditText中的文本,java,android,Java,Android,我正在尝试制作我的第一个应用程序,它应该是一个数独解算器。 我想我就快到了,但有一个问题我已经试着解决了好几个小时了,所以我要向你们求助。 我有一个带有81个文本框的网格布局。我可以使用以下方法将81个文本框中的数字转换为9*9矩阵: private void writeToNbrs() { for (int i = 0; i < 81; i++) { int temp; try { temp = Integer.parseI

我正在尝试制作我的第一个应用程序,它应该是一个数独解算器。 我想我就快到了,但有一个问题我已经试着解决了好几个小时了,所以我要向你们求助。 我有一个带有81个文本框的网格布局。我可以使用以下方法将81个文本框中的数字转换为9*9矩阵:

private void writeToNbrs() {
    for (int i = 0; i < 81; i++) {
        int temp;
        try {
            temp = Integer.parseInt(((EditText) layout.getChildAt(i)).getText().toString());
        } catch(Exception e){
            temp = 0;
        }
        int a = i/9;
        int row = a;
        int col = i%9;
        nbrs[row][col] = temp;
    }
}
在第一次迭代中。
为什么会这样?提前谢谢你

像这样更改代码

((EditText)layout.getChildAt(i)).setText(temp+"");
另一方面,它将查找资源id并崩溃。

使用
String.valueOf(temp)
temp
转换为
String

试试这个:

((EditText)layout.getChildAt(i)).setText(String.valueOf(temp));

非常感谢。这就解决了问题。但是为什么呢??对我来说没有任何意义,你可以使用字符串资源id(int)而不是实际的字符串。如果答案对你有帮助,请接受-
((EditText)layout.getChildAt(i)).setText(temp+"");
((EditText)layout.getChildAt(i)).setText(String.valueOf(temp));