Java 显示列表的应用程序不工作
我尝试制作一个带有按钮的应用程序,按下按钮后,它将在editText中显示列表中的所有元素。 但我有一个问题,目前在按下按钮后,我在Java 显示列表的应用程序不工作,java,android,Java,Android,我尝试制作一个带有按钮的应用程序,按下按钮后,它将在editText中显示列表中的所有元素。 但我有一个问题,目前在按下按钮后,我在editText 依我看,我需要你给我一些建议,告诉我怎么做。也许我不应该使用循环 public class MainActivity extends AppCompatActivity { private Button button; private EditText editText; private ArrayList<Stri
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类MainActivity扩展了AppCompatActivity{
私人按钮;
私人编辑文本;
private ArrayList list=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
按钮=(按钮)findViewById(R.id.button);
editText=(editText)findViewById(R.id.editText);
列表。添加(0,“第一”);
列表。添加(1,“第二”);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
for(字符串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);
}
});
}
}
public类MainActivity扩展了AppCompatActivity{
私人按钮;
私人编辑文本;
private ArrayList list=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
按钮=(按钮)findViewById(R.id.button);
editText=(editText)findViewById(R.id.editText);
列表。添加(0,“第一”);
列表。添加(1,“第二”);
列表。添加(2,“3”);
列表。添加(3,“4”);
列表。添加(4,“5”);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串final_text=“”;
for(字符串abc:list){
最终文本=最终文本+“\n”+abc;
}
editText.setText(最终文本);
}
});
}
}
您正在覆盖
editText
中的文本。累积列表中的字符串
,并在循环外执行setText
:-
@Override
public void onClick(View v) {
String final_text ="";
for (String abc: list){
final_text = final_text +"\n" + abc;
}
editText.setText(final_text);
}
在这个循环中,您将始终将列表的最后一个字符串放入edittext
for (String abc: list){
editText.setText(abc);
}
您需要创建多个edittext以添加列表中的多个值,或者您需要将列表中的所有值编译为一个字符串,如@Zakir has propose。提示:您正在用“
second”覆盖“first”
“first”
“second”单个单词仍在同一个区域中。由于final\u text,每个列表元素都应该位于新行中+“\n”+abc
我在屏幕上添加了编辑问题,最后添加了新代码,它在设备上看起来如何,您能检查为什么不起作用吗?确保manifest.xml中editText的属性设置为多行:哇,很好,最后一个问题,是否可以在没有第一行员工的情况下完成?