单击按钮后如何动态地将项目添加到列表中?文本将添加到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列表。
使您的类实现Parcelable或Serializable
(更慢)。