我正在做以下事情:
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();
答案 0 :(得分:0)
if (requestCode == ADD)
{
Custom= (ArrayList<Custom>) data.getSerializableExtra("arrayList");
addArryaListInListView();
}
在上面的代码中你得到了ACtivity的数据,但你错过了主要的东西,你没有把它添加到适配器..我认为数据应该添加到适配器你应该说notifyDataSetChanged()
,但我在这里看不到..
答案 1 :(得分:0)
您可以在更改数据时再次设置lisAdapter
listView.setAdapter(适配器);