Android 用另一个活动的结果填充listview

Android 用另一个活动的结果填充listview,android,listview,arraylist,adapter,Android,Listview,Arraylist,Adapter,我想在我的项目中实现以下内容。 我想从活动A开始活动B以获得结果。 活动A有一个listview(比如mylistview)和一个适配器集。(说我的适配器)。 和相应的arraylist myarraylist 对于活动B的结果字符串,我想将该字符串添加到活动A的现有listview中 我做了以下几件事: 在活动A中: ArrayAdapter<String> myadapter = new ArrayAdapter<String>(this, android.r.lay

我想在我的项目中实现以下内容。 我想从活动A开始活动B以获得结果。 活动A有一个listview(比如mylistview)和一个适配器集。(说我的适配器)。 和相应的arraylist myarraylist

对于活动B的结果字符串,我想将该字符串添加到活动A的现有listview中

我做了以下几件事:

在活动A中:

ArrayAdapter<String> myadapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1,myarraylist);
mylistview.setListAdapter(myadapter);

Intent i = new Intent(this, activityB.class);
startAcivityForResult(i,1);
在活动B中:

Intent i =new Intent();
i.putExtra("card_name", Card_name);
setResult(RESULT_OK,i);
我的程序没有显示任何错误,工作正常。 但是我的listview仍然没有得到正确的更新


我哪里出错了?

我想你应该试着调试出了什么问题。该字符串未正确读取,或者该字符串从未到达listview

如果未读取字符串,请尝试将其发送到intent中。如果它被添加到数组中,而不是列表视图中,我会尝试更新适配器,以便它直接从数组中读取

像这样:

    public class CustomStringAdapter extends ArrayAdapter<String> {

    public CustomStringAdapter(Context context, int textViewResourceId,
            List<String> objects) {
        super(context, textViewResourceId, objects);
    }
    @Override
    public int getCount() {
        return myarraylist.size();
    }

    @Override
    public String getItem(int position) {
        // TODO Auto-generated method stub
        return myarraylist.get(position);
    }

}

这可能不是答案,但值得测试。

不正确更新是什么意思?你的意思是有时有,有时没有?不,对不起,我把它框错了,它永远不会更新…请看我编辑的问题。。。。。我已经添加了我在活动B中所做的工作
    public class CustomStringAdapter extends ArrayAdapter<String> {

    public CustomStringAdapter(Context context, int textViewResourceId,
            List<String> objects) {
        super(context, textViewResourceId, objects);
    }
    @Override
    public int getCount() {
        return myarraylist.size();
    }

    @Override
    public String getItem(int position) {
        // TODO Auto-generated method stub
        return myarraylist.get(position);
    }

}
CustomStringAdapter myadapter = new CustomStringAdapter(this,android.r.layout.simple_list_item_1,myarraylist);
mylistview.setListAdapter(myadapter);