[英]Display ArrayList to TextView
我正在尝试做一些简单的事情:将ArrayList显示为TextView。 我尝试使用无法成功完成此操作的方法。 还是我应该使用ListView而不是TextView?
无论如何,这里是代码。 我希望有人能帮帮忙。
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());
}
}
});
}
您没有更改TexView的文本:
text2.setText(text2.getText());
您宁愿想到:
text2.setText(list.get(i));
最终:
text2.setText((text2.getText() != null ? text2.getText() : "") + list.get(i));
尝试这个 :
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);
}
});
你的问题在这里
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));
}
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.