java - 显示列表的应用程序不起作用

标签 java android

我尝试制作一个带有按钮的应用程序,在按下按钮后,它将在 editText 中显示列表中的所有元素。 但我有一个问题,目前在我按下按钮后,我在 editText
中只看到“second” 在我看来,我需要您提供有关如何操作的提示。也许我不应该使用循环?

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);

            }
        });
    }

}

enter image description here

最佳答案

您正在覆盖 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);
}

关于java - 显示列表的应用程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44423384/

相关文章:

java - 在 Spring Boot 数据休息应用程序中获取 EntityManager

java - 将观察者与主题耦合

java - LibGDX - 如何添加背景图片

android - 内容丰富的 CMS 中的用户身份验证

android - 在 PhoneGap 中的 Android 后退按钮上停止退出 - 构建

Java Spring - 从文件执行 MySQL 查询

java - 套接字编程序列化对象

android - 如何通过 GPRS 或 3G 连接两个 Android 设备?

Android - 为乒乓球游戏创建定时器循环

java - Gradle 构建 : Could not find method signingConfig() for arguments