单击按钮后如何动态地将项目添加到列表中?文本将添加到listView。目前,它仅将一个项目添加到列表视图,而当您尝试添加另一个项目时,它仅更改列表中已添加的项目。

这是我的代码:

这是活动A的单击按钮,它获取文本:

schedule.setOnClickListener(new OnClickListener() {

         public void onClick(View view) {

             AddSchedule();

             Intent i = new Intent(ScheduleActivity.this, MainActivity.class);
             String str = event_name.getText().toString();
             i.putExtra("myExtra", str);
             startActivity(i);

         }

     });


然后在活动B中从活动B获取文本,但仅添加

最终ListView listView =(ListView)findViewById(R.id.listView);
adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter);

    Intent i = getIntent();
    if (i.hasExtra("myExtra")) {
        list.add(i.getStringExtra("myExtra"));
        adapter.notifyDataSetChanged();
    }

最佳答案

您只能在新活动的列表中看到一项,因为该活动是每次通过startActivity(Intent)创建的(我想)。因此,每次打开活动B时,它都是一个新实例。 arraylist为空。

您需要跟踪活动A中单击的项目,并每次将整个列表发送到活动B。活动B应该获得意图中的完整列表并创建gui列表。

使您的类实现ParcelableSerializable(更慢)。

07-24 09:49
查看更多