Как распечатать все значения внутри цикла for в Android?

Я совсем запутался, почему я не могу распечатать все значения массива внутри цикла. Он печатает только последнее значение массива.

следующий код-:

package com.example.code_1;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import android.util.Log;


public class MainActivity extends Activity 
{


@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView tt=(TextView)findViewById(R.id.and);


    try
    {


 String abc[]={"1","2","3","4","5","6","7","8","9","10","11","12"};


        for(int i=0;i<abc.length;i++)
        {

             tt.setText(String.valueOf(abc[i]));

        }

    }
    catch(NullPointerException e)
    {


    }

 }

}

Я искал в Интернете и обнаружил, что использую класс StringBuilder для добавления всех значений и отображения массива вне цикла, но я думаю, что это очень похоже на суммирование всего содержимого в строку, отображающую его в одной переменной. Я не хочу этого решения.

Пожалуйста, помогите мне, как я могу напечатать все значения внутри цикла. !!!

Заранее спасибо..


person Anshuman Pattnaik    schedule 02.02.2014    source источник


Ответы (3)


Используйте append вместо setText.

   for(int i=0;i<abc.length;i++)
    {
       tt.append(String.valueOf(abc[i]));
       tt.append("\n"); // for new line
    }

setText установить последний для просмотра текста.

Вы также можете использовать StringBuilder и использовать append

 StringBuilder builder = new StringBUilder();

  for(int i=0;i<abc.length;i++)
    {
        builder.append(String.valueOf(abc[i]));
        builder.append("\n");  
    }

  tt.setText(builder.toString()));

http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html

person Raghunandan    schedule 02.02.2014
comment
Да, спасибо, но я пробовал это, но почему я не могу писать с помощью setText.... это решение будет печатать вне цикла.... - person Anshuman Pattnaik; 02.02.2014
comment
@ user2551103 поместил его в сам цикл. setText заменяет старый контент - person Raghunandan; 02.02.2014

Вам нужно добавить предыдущий текст

tt.setText(tt.getText().toString()+String.valueOf(abc[i]));
person StarsSky    schedule 02.02.2014

Выполняя setText(), вы заменяете текст внутри TextView. Чтобы добавить текст, вы должны использовать метод append() следующим образом:

 tt.append(String.valueOf(abc[i]));

Теперь, если вы хотите, чтобы ваш новый текст был на новой строке, вы должны написать что-то вроде этого:

 tt.append("\n" + String.valueOf(abc[i]));
person Egor Neliuba    schedule 02.02.2014