Android, как распечатать массив в текстовом представлении или что-нибудь - PullRequest
4 голосов
/ 12 марта 2012

У меня есть массив слов, и я хотел бы напечатать массив слов на экране в текстовом представлении после нажатия кнопки.я использовал цикл for, чтобы пройти весь список и затем установить текст, но я продолжаю получать сообщение об ошибке, плюс он просто заменит последнее значение, поэтому он не будет печатать весь массив.Если бы кто-нибудь мог объяснить мне, как сделать как g.drawSting (), но версия для Android, это было бы здорово.мой код rt сейчас не со мной, но это что-то вроде: -Я новичок в Android, кстати, вероятно, мог бы сказать по этому вопросу tho.

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
 }
}
}

Ответы [ 3 ]

9 голосов
/ 12 марта 2012
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 голосов
/ 12 марта 2012

Вы должны объединить весь текст в строку, прежде чем вы сможете дать ему 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 голосов
/ 24 марта 2014

Я использую это решение без индекса, просто легко запомнить один вкладыш:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...