我正在制作一个具有2个视图的Android应用程序,该应用程序从Web服务接收数据。

首先询问登录名和密码。然后向Web服务发送活动请求,并且如果有数据,他将创建一个意图,该意图在列表视图中显示数据:

主要

private ArrayList accountlist = new ArrayList();
...
accountlist.add(...)
...
Intent intent = new Intent(Main.this, Second.class);
intent.putExtra("accountlist", accountlist);
intent.putExtra("login", loginEditText.getText().toString());
intent.putExtra("pass", passwordEditText.getText().toString());
startActivity(intent);


第二

private ArrayList accountlist;
...
public void onCreate(Bundle savedInstanceState) {
 ...
 setListAdapter(new ArrayAdapter<String>(this, R.layout.results,accountlist));
 ...
}
private void refresh() {
 ...
 accountlist.add(...)
 setListAdapter(new ArrayAdapter<String>(this, R.layout.results,accountlist));
}


结果是我有要添加到当前列表中的项目(例如,我有2个项目,如果刷新4次,则视图中将有10个项目,而我只希望最后2个项目)

如果您有想法:D

最佳答案

您不能在活动之间直接传递ArrayList,必须通过序列化来访问某种对象。阅读此:How do I pass an object from one activity to another on Android?

07-24 09:44