我尝试使用按钮创建一个按钮,按下后按钮将显示editText中列表中的所有元素。
但我有一个问题,目前在我按下按钮之后我只看到"第二个"在editText
中
在我看来,我需要一些关于如何做的提示。也许我不应该使用循环?
public class MainActivity extends AppCompatActivity {
private Button button;
private EditText editText;
private ArrayList<String> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.editText);
list.add(0, "first");
list.add(1, "second");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (String abc: list){
editText.setText(abc);
}
}
});
}
}
____编辑
public class MainActivity extends AppCompatActivity {
private Button button;
private EditText editText;
private ArrayList<String> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.editText);
list.add(0, "first");
list.add(1, "second");
list.add(2, "3");
list.add(3, "4");
list.add(4, "5");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String final_text = "";
for (String abc: list){
final_text = final_text + "\n" + abc;
}
editText.setText(final_text);
}
});
}
}
答案 0 :(得分:2)
您正在覆盖editText
中的文字。从list
累积字符串并在循环外执行setText
: -
@Override
public void onClick(View v) {
String final_text ="";
for (String abc: list){
final_text = final_text +"\n" + abc;
}
editText.setText(final_text);
}
答案 1 :(得分:0)
在此循环中,您将始终将列表的最后一个字符串放入edittext
for (String abc: list){
editText.setText(abc);
}
您需要创建多个edittext以从列表中添加多个值,否则您需要将列表中的所有值编译为@Zakir建议的一个字符串。