Android 数组转换为文本视图
我有一些二维数组Android 数组转换为文本视图,android,arrays,textview,Android,Arrays,Textview,我有一些二维数组 int a[i][j] 我想展示一下。 我正在努力: String aa = ""; aa+=(a[i][j] + "\n"); table.append(aa); 但它不起作用-只有一个0。 我怎样才能做到这一点 int a[][] = new int[][] { { 0, 1, 2, 3, 4, 3, 1, 1, 7, 9 }, { 4, 5, 6, 4, 8, 6, 1, 3, 6,
int a[i][j]
我想展示一下。
我正在努力:
String aa = "";
aa+=(a[i][j] + "\n");
table.append(aa);
但它不起作用-只有一个0。
我怎样才能做到这一点
int a[][] = new int[][] {
{ 0, 1, 2, 3, 4, 3, 1, 1, 7, 9 },
{ 4, 5, 6, 4, 8, 6, 1, 3, 6, 7 },
{ 7, 1, 5, 7, 8, 9, 6, 3, 5, 8 },
{ 8, 2, 3, 9, 8, 7, 6, 6, 4, 9 },
{ 9, 8, 5, 1, 2, 3, 4, 5, 3, 7 }
};
String aa = "";
for(int i=0; i<5; i++)
{
for(int j=0; j<10; j++)
{
aa.concat(String.valueOf(a[i][j]));
}
}
(your text view) .setText(aa);
tableText是字符串:
"[1, 0, 0]
[0, 1, 0]
[0, 0, 1]"
所以,假设您有名为table的TextView,您所要做的就是将此字符串设置为TextView的文本:
显然,您需要循环:您现在从[i][j]只获得数组的一个元素 差不多
String aa;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
aa += a[i][j];
}
}
table.setText(aa);
如果需要,请在某处添加换行符\n如果要制作表格,请执行以下操作:
int a[][] = new int[][]{{0,1,2,3,4},
{2,3,4,5,6},
{2,3,4,5,6}};
StringBuilder strBuild = new StringBuilder();
for(int i = 0; i < a[0].length; i++){
for(int j = 0; j < a.length; j++){
strBuild.append(a[i][j]);
strBuild.append(" ");
}
strBuild.append("\n");
}
yourTextVeiw.setText(strBuild.toString());
如果您试图将所有数字放在一行中:
int a[][] = new int[][]{{0,1,2,3,4},
{2,3,4,5,6},
{2,3,4,5,6}};
StringBuilder strBuild = new StringBuilder();
for(int i = 0; i < a[0].length; i++){
for(int j = 0; j < a.length; j++){
strBuild.append(a[i][j]);
strBuild.append(" ");
}
}
yourTextView.setText(strBuild.toString());
如果您试图将它们全部放在一列中:
int a[][] = new int[][]{{0,1,2,3,4},
{2,3,4,5,6},
{2,3,4,5,6}};
StringBuilder strBuild = new StringBuilder();
for(int i = 0; i < a[0].length; i++){
for(int j = 0; j < a.length; j++){
strBuild.append(a[i][j]);
strBuild.append("\n");
}
}
yourTextView.setText(strBuild.toString());
还有一排都砸在一起了:
int a[][] = new int[][]{{0,1,2,3,4},
{2,3,4,5,6},
{2,3,4,5,6}};
StringBuilder strBuild = new StringBuilder();
for(int i = 0; i < a[0].length; i++){
for(int j = 0; j < a.length; j++){
strBuild.append(a[i][j]);
}
}
yourTextView.setText(strBuild.toString());
它是完整的代码吗?有环吗?什么是表格?@SergeyGlotov TextView表格;没有循环。@SergeyGlotov数组由0和1填充。@TeWu的版本实际上更好:我只是想展示基本知识。Java中二维数组的元素长度不必相等。j循环上界的硬编码可能是错误的。我在文本视图中有我的数组,但是有数百个数字,我应该以不同的方式声明数组吗?int[]a=新int[100][100];我无法编码int[][]数组=新int[][{{1,0,0},{0,1,0},{0,0,1};,因为这是真值表,我在代码中创建了它。@AlexanderVasilchuk您可以用任何方式创建数组。这只是一个例子。@SergeyGlotov我明白了,我的表现在显示所有数组,用0填充未使用的单元格。我怎么能只显示我使用的单元格?@SergeyGlotov我有16*16,但使用8*8:
int a[][] = new int[][]{{0,1,2,3,4},
{2,3,4,5,6},
{2,3,4,5,6}};
StringBuilder strBuild = new StringBuilder();
for(int i = 0; i < a[0].length; i++){
for(int j = 0; j < a.length; j++){
strBuild.append(a[i][j]);
strBuild.append("\n");
}
}
yourTextView.setText(strBuild.toString());
int a[][] = new int[][]{{0,1,2,3,4},
{2,3,4,5,6},
{2,3,4,5,6}};
StringBuilder strBuild = new StringBuilder();
for(int i = 0; i < a[0].length; i++){
for(int j = 0; j < a.length; j++){
strBuild.append(a[i][j]);
}
}
yourTextView.setText(strBuild.toString());