[英]Trying ty change text in EditText within GridLayout
我正在尝试制作我的第一个应该是Sudoku求解器的应用程序。 我想我快到了,但是有一个问题我已经尝试解决了几个小时,因此,我正在与您联系。 我有一个带有81 TextBox的GridLayout。 我没有问题使用以下方法将数字从81个TextBox转移到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;
}
}
问题是当我要为此将数字从矩阵传输到文本框时,我使用以下代码:
private void writeToText(){
for(int row = 0; row<9; row++){
for(int col = 0; col<9; col++){
int temp = nbrs[row][col];
int i = row*9+col;
((EditText)layout.getChildAt(i)).setText(temp);
}
}
}
我对调试器不是很熟悉,但是我尝试使用它,现在我知道它在以下位置崩溃:
((EditText)layout.getChildAt(i)).setText(temp);
在第一次迭代中。 为什么是这样? 先感谢您!
像这样更改代码,
((EditText)layout.getChildAt(i)).setText(temp+"");
否则,它将查找资源ID并崩溃。
使用String.valueOf(temp)
将temp
转换为String
尝试这个:
((EditText)layout.getChildAt(i)).setText(String.valueOf(temp));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.