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

问题描述 投票:4回答:3

我有一个单词数组,我想在单击一个按钮后在文本视图中将单词数组打印到屏幕上。我使用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
 }
}
}
android arrays printing for-loop textarea
3个回答
9
投票
int arraySize = myArray.size();
for(int i = 0; i < arraySize; i++) {
myTextView.append(myArray[i]);
}

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

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

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

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

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


2
投票

您必须先将所有文本合并到一个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());
}

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.