Java 在第二个目的中刷新arraylist

Java 在第二个目的中刷新arraylist,java,android,android-layout,arraylist,android-arrayadapter,Java,Android,Android Layout,Arraylist,Android Arrayadapter,我正在制作一个应用程序,它使用一个android应用程序接收来自Web服务的数据,该应用程序有两个视图 第一个问题是询问登录名和密码。然后将活动请求发送给Web服务,如果有数据,他将创建一个意图,在listview中显示数据: 主要 第二 private ArrayList accountlist; ... public void onCreate(Bundle savedInstanceState) { ... setListAdapter(new ArrayAdapter<Stri

我正在制作一个应用程序,它使用一个android应用程序接收来自Web服务的数据,该应用程序有两个视图

第一个问题是询问登录名和密码。然后将活动请求发送给Web服务,如果有数据,他将创建一个意图,在listview中显示数据:

主要

第二

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));
}
private ArrayList accountlist;
...
创建时的公共void(Bundle savedInstanceState){
...
setListAdapter(新的ArrayAdapter(this,R.layout.results,accountlist));
...
}
私有无效刷新(){
...
accountlist.add(…)
setListAdapter(新的ArrayAdapter(this,R.layout.results,accountlist));
}
结果是,我将添加到当前列表中的项目(例如,我有2个项目,如果我刷新4次,我将在视图中有10个项目,并且我仅添加最后2个)


如果您有一个想法:D

您不能在活动之间直接传递ArrayList,您必须通过序列化转到对象类型。阅读以下内容:

您不能在活动之间直接传递ArrayList,您必须通过序列化转到某种对象。读这个:

好的,我刚刚用了

accountlist.clear();
我就在后面

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);
清除将重新用于启动意图的列表

好吧,我刚用了

accountlist.clear();
我就在后面

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

清除将重新用于启动意图的列表

ArrayList实现了Serializable,因此在活动之间传递它是完全有效的。@julien:这不是问题,它工作得很好,但在refresh方法(第二类/意图)中,我想删除并清除列表中已经存在的项,然后在refresh()中添加新闻项(结束而不仅仅是添加新项)@clement方法为什么不在执行accountlist.add(..)之前先执行accountlist.clear()。@Prabhu:它不在刷新方法中,而是在第一个意图中(不是第二个意图),这要感谢illuminate me:-)ArrayList实现了可序列化,所以在活动之间传递它是完全有效的。@julien:这不是问题,它工作得很好,但是在refresh方法(第二类/意图)中,我想删除并清除列表中已经存在的项目,然后添加新闻项目(结束而不仅仅是添加新项目)@clement,在refresh()方法中,为什么不在执行accountlist.add(..)之前先执行accountlist.clear()。@Prabhu:这不是在refresh方法中,而是在第一个意图中(不是第二个)谢谢你照亮我:-)