2012-02-24 369 views
0

不顯示數據我做以下事情:適配器ListView中

1-活性1(發送的數組列表)到活動2 2-活動2(示出的ListView使用定製適配器列表)並傳遞數組列表到第三個活動 3活動3(在arrayList中添加更多值並將其傳回到活動2)

現在一切正常,除非我將這個數組列表從活動3傳回給2時。它不會添加新的修改數組列表。是的,它正確傳遞數組列表。我已經使用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

可以給你CustomArrayAdapter類的代碼 – John 2012-02-24 05:16:20

回答

0
if (requestCode == ADD) 
     { 
      Custom= (ArrayList<Custom>) data.getSerializableExtra("arrayList"); 
      addArryaListInListView(); 
     } 
在上面的代碼

,而不是你獲得了數據ACtivity,但你錯過了主要的東西,你沒有把它添加到適配器..我認爲數據應該添加到適配器中,你應該說notifyDataSetChanged() ,但我沒有看到它在這裏..

+0

我在做這個adapter.notifyDataSetChanged(); – 2012-02-24 05:17:00

+0

@ user966227 ..我知道,但在此之前,你得到的數組列表應該被添加到適配器..如果你可以顯示更多的代碼,我們可以幫助..現在我不知道什麼是**自定義** .. – ngesh 2012-02-24 05:18:39

0

您可以再次設置lisAdapter當數據的改變

listView.setAdapter(適配器);