2014-10-02 100 views
-1

我想要做一些简单的:显示我的ArrayList到TextView。我尝试过使用那些没有成功的方法。或者我应该使用ListView而不是TextView?显示ArrayList到TextView

无论如何这里是代码。我希望有人能帮帮忙。 TexView的

public class MainActivity extends Activity { 

    Button aButton; // Global Scope 
    TextView text2; 

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

     aButton = (Button) this.findViewById(R.id.button1); 
     aButton.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       ArrayList<String> list = new ArrayList<String>(); 

       list.add("Books"); 
       list.add("Newspapers"); 
       list.add("Magazines"); 

       for (int i = 0; i < list.size(); i++) { 
        //System.out.println(list.get(i)); 

        Log.i("Results", list.get(i)); 
        text2.setText(text2.getText()); 
       } 
      } 
     }); 
    } 

回答

2

没有更改文本:

text2.setText(text2.getText()); 

你而想到:

text2.setText(list.get(i)); 

最终:

text2.setText((text2.getText() != null ? text2.getText() : "") + list.get(i)); 
+0

等待,你告诉我,我需要在我的Log.i下添加“最终”代码?很抱歉,我刚刚2天前开始使用Java。所以我对任何困惑道歉。 – user3078406 2014-10-02 22:23:11

+0

只需替换text2.setText(text2.getText());与其中一个选项,并检查发生了什么 – maszter 2014-10-02 22:25:15

+0

我运行应用程序后,我从模拟器得到一个警告说“不幸的AppDemo已经停止”:/ – user3078406 2014-10-02 22:27:20

0

试试这个:

aButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     ArrayList<String> list = new ArrayList<String>(); 

     list.add("Books"); 
     list.add("Newspapers"); 
     list.add("Magazines"); 
     String listString = ""; 

     for (String s : list) { 
      listString += s + " "; 
     } 
     text2.setText(listString); 
    } 
}); 
+0

我从模拟器中收到一条警告,提示“不幸AppDemo已停止” – user3078406 2014-10-02 22:32:29

+1

这实际上帮助我获得了所有要显示的项目。谢谢! – user3078406 2014-10-02 23:59:34

0

你prolem在这里

text2.setText(text2.getText())

工作代码为:

public class MainActivity extends Activity { 

Button aButton; // Global Scope 
TextView text2; 

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

    aButton = (Button) this.findViewById(R.id.button1); 
    aButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      ArrayList<String> list = new ArrayList<String>(); 

      list.add("Books"); 
      list.add("Newspapers"); 
      list.add("Magazines"); 

      for (int i = 0; i < list.size(); i++) { 
       //System.out.println(list.get(i)); 

       Log.i("Results", list.get(i)); 
       text2.setText(list.get(i)); 
      } 
     } 
    }); 
} 
+0

我收到一个错误,提示“不幸AppDemo已停止” – user3078406 2014-10-02 22:36:09