2013-03-03 53 views
0

我想在我的項目中實現以下內容。 來自活動A我想開始活動B的結果。 活動A有一個列表視圖(比如mylistview)和爲它設置的適配器。 (比如說myadapter)。 和相應的數組列表myylylist。填充列表視圖與另一個活動的結果

與活動B中的結果字符串我想這個字符串添加到活動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); 

現在在我的onActivityResult方法中:

String new_str = data.getStringExtra(); 
myarraylist.add(new_str); 
myadapter.notifyDatasetChanged(); 

和在活動B:

Intent i =new Intent(); 
i.putExtra("card_name", Card_name); 
setResult(RESULT_OK,i); 

我的程序沒有顯示任何錯誤,工作正常。 但仍然我的listview沒有得到正確更新。

我在哪裏出錯?

+0

什麼意思是沒有正確更新?你的意思是有時它確實有時並不是? – Kanth 2013-03-03 07:14:14

+0

沒有對不起,我陷害了它,它從來沒有得到更新..... – user2056245 2013-03-03 07:22:45

+0

請看我編輯的問題.....我已經添加了我在活動B做的 – user2056245 2013-03-03 07:24:20

回答

0

我認爲你應該嘗試調試出了什麼問題。字符串不正確讀取或字符串永遠不會到達列表視圖。

如果未讀取該字符串,請嘗試將其發送給意圖。如果它添加到數組中,但不添加到列表視圖,我會嘗試更新適配器,以便它直接從數組中讀取。

像這樣:

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

這可能不是答案,但它是值得進行測試。

+0

肯定,謝謝,我這樣做 – user2056245 2013-03-03 07:44:13

相關問題