适配器不在ListView中显示数据

时间:2012-02-24 05:11:03

标签: java android eclipse

我正在做以下事情:

1- Activity1(发送数组列表)到活动2 2-活动2(使用自定义适配器显示ListView中的列表)并将数组列表传递给第三个活动 3活动3(在arrayList中添加更多值并将其传递回活动2)

现在一切正常,除非我将这个数组列表从活动3传递回2.它不添加新的修改数组List。是的,它正确传递了数组列表。我已经使用Debug进行了测试。

我正在使用以下ListView代码

在活动2中

listView = (ListView) findViewById(R.id.receiptsListView); 

         adapter = new CustomArrayAdapter(this, myArrayList);
         listView.setAdapter(adapter);

@SuppressWarnings("unchecked")
    public synchronized void onActivityResult(final int requestCode, int resultCode, final Intent data) 
    {
        if (resultCode == Activity.RESULT_OK) 
        {
         if (requestCode == ADD)
         {
            Custom= (ArrayList<Custom>) data.getSerializableExtra("arrayList");
            addArryaListInListView();
         }
        }
    }

    private void addArryaListInListView()
    {
        adapter.notifyDataSetChanged();
    }

请告诉我该怎么做而不是adapter.notifyDataSetChanged();

2 个答案:

答案 0 :(得分:0)

if (requestCode == ADD)
         {
            Custom= (ArrayList<Custom>) data.getSerializableExtra("arrayList");
            addArryaListInListView();
         }

在上面的代码中你得到了ACtivity的数据,但你错过了主要的东西,你没有把它添加到适配器..我认为数据应该添加到适配器你应该说notifyDataSetChanged(),但我在这里看不到..

答案 1 :(得分:0)

您可以在更改数据时再次设置lisAdapter

listView.setAdapter(适配器);