如何在Android中打印for循环中的所有值?

时间:2014-02-02 10:50:56

标签: android arrays loops stringbuilder

我很困惑为什么我无法在循环中打印所有数组值。它只打印数组的最后一个值。

以下代码 - :

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 类附加所有值并在循环外显示数组但我认为它非常类似于将所有内容汇总成字符串显示在一个字符串中单变量。我不想要这个解决方案。

请帮帮我,如何打印循环内的所有值。 !!!

先谢谢..

3 个答案:

答案 0 :(得分:4)

使用append代替setText

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

setText设置为textview的最新版本。

您也可以使用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

答案 1 :(得分:3)

您需要添加上一个文字

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

答案 2 :(得分:2)

通过执行setText(),您将替换TextView中的文字。要添加文字,您应该使用append()方法,如下所示:

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

现在,如果您希望新文本在新行上,您应该写下这样的内容:

 tt.append("\n" + String.valueOf(abc[i]));