Android如何在文本视图或任何东西中打印数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android如何在文本视图或任何东西中打印数组相关的知识,希望对你有一定的参考价值。

我有一个单词数组,我想在单击一个按钮后在文本视图中将单词数组打印到屏幕上。我使用for循环遍历整个列表,然后设置文本,但我不断得到一个错误加上它只会替换最后一个值,所以它不会打印整个数组。如果有人可以向我解释如何做一个g.drawSting()但是android版本会很棒。我的代码rt现在不是和我在一起,但它类似于: - 我是android btw的初学者,可能可以通过这个问题告诉你。

public void onCreate(Bundle savedInstanceState)
{
//code for a button just being pressed{
 //goes to two methods to fix the private array{
     for(int y=0; y<=array.size()-1; y++){
        textArea.setText(aarray.get(y));   //prints all strings in the array
 }
}
}
答案
int arraySize = myArray.size();
for(int i = 0; i < arraySize; i++) {
myTextView.append(myArray[i]);
}

如果要逐个打印,请使用 n

myTextView.append(myArray[i]);
myTextView.append("
");

PS:谁建议将.size()更改为.length(),谢谢你的建议。

仅供参考,提问者提到变量名称是array.size(),所以答案也有相同的变量名称,以使提问者更容易。

如果你的变量(myArray)是Array使用myArray.length(),如果它是ArrayList使用myArray.size()

另一答案

您必须先将所有文本合并到一个String中,然后才能为其提供TextView。否则,您始终覆盖文本。

public void onCreate(Bundle savedInstanceState)
{
     StringBuilder sb = new StringBuilder();
     int size = array.size();
     boolean appendSeparator = false;
     for(int y=0; y < size; y++){

        if (appendSeparator)
            sb.append(','); // a comma
        appendSeparator = true;

        sb.append(array.get(y));
     }
     textArea.setText(sb.toString());
}
另一答案

我使用这种无索引解决方案,只是一个容易记住的一个班轮:

for(File file:list) Log.d(TAG, "list: " + file.getPath());

以上是关于Android如何在文本视图或任何东西中打印数组的主要内容,如果未能解决你的问题,请参考以下文章

Android - 从图像中裁剪文本(使用 openCV 或其他任何东西)

如何在 android studio 中使用 recyclerview 或列表视图创建相同的东西?

如何使用任何东西在数组或字典中查找对象

在 Android 应用程序中,如何使用透明文本制作线性视图,以便父视图可见?

如何在 Android 的 web 视图中禁用文本选择?

Android:如何强制布局或任何视图在倾斜时具有固定大小?