我有一个TextView,我试图使显示一个基于2d字符的网格。在我的Java代码中,我创建了一个2d数组,我将该数组填充到字符串中,并将每个条目附加到另一个,并在达到数组行的末尾时添加换行符(.n)。用这种方法,然后我用数组中的所有条目(按照\ n的顺序)填充大长的单数字符串,并执行setText(string)。这样,TextView应该在显示器上显示一个2d网格。它的排序是这样的:顶行和底行都很好,但是在行之间的每一行之间都没有空格,在行的末尾字符和左侧的某处(大约13个字符)之间没有空格。Android编程:TextView不显示完整字符串
这里是从使阵列,其中的字符填充它,并且使该阵列变成一个长字符串的代码片断:
for(int row = 0; row < 22; row++){
for(int column = 0; column < 22; column++){
if(row == 0 || row == 21){
playField[row][column] = "#";
}else if(row > 0 && row < 21){
if(column == 0 || column == 21){
playField[row][column] = "#";
}else{
playField[row][column] = " ";
}
}
}
现在,将数组成一个字符串:
temp = new String();
for(int i = 0; i < 22; i++){
for(int j = 0; j < 22; j++){
temp+=playField[i][j];
}
temp+="\n";
}return temp;
这个字符串就是我使用text.setText(temp),它工作,但它是这样的:#在第1列中,大约10个空格(按照预期),然后在第13列左右另一个#,然后下一行。在第一排,所有22#号都有,而最下面一排有22#号。
我有我的TextView在XML设置如下:
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>