如何在按钮单击时在列表视图中添加元素

时间:2015-08-27 17:25:13

标签: android android-studio

我想在listview上添加按钮点击元素和列表视图顶部的类型元素。但所有元素都会重复,除了最后一个我这样做了 - >

      @Override
      protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et= (EditText) findViewById(R.id.editT);
    lv= (ListView) findViewById(R.id.Lview);


    final ArrayList<String> todoitem = new ArrayList<>();
    final  ArrayAdapter<String> aa;

    aa= new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, todoitem);

    lv.setAdapter(aa);

}

EditText et;
ListView lv;

public void onBtnClick(View v){

    int k= lv.getCount();
    String a1[]= new String[k+1];
    for (int i=k-1;i>=0;i--){

        for (int j=k; j>0; j--) {
            a1[j] = lv.getItemAtPosition(i).toString();
        }
        a1[0] = et.getText().toString();
        ArrayAdapter<String> aan = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, a1);
        lv.setAdapter(aan);
        et.setText("");

    }

}

}

1 个答案:

答案 0 :(得分:1)

我很难理解你的代码,但我认为这正是你所追求的:

public void onBtnClick(View v){

    int k= lv.getCount();
    String a1[]= new String[k+1];
    a1[0] = et.getText().toString();
    et.setText("");
    for (int i = 0; i < k; i++){
        a1[i + 1] = lv.getItemAtPosition(i).toString();
    }
    ArrayAdapter<String> aan = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, a1);
    lv.setAdapter(aan);
}