2011-05-22 139 views
0

我不斷遇到嘗試將ArrayList從一個活動傳遞到另一個活動的問題。我嘗試遍歷XMLParser類中的ArrayList時,我的代碼與空指針異常失敗。我將打印語句放入生成ArrayList的Activity中,看起來很好。任何人都可以看到我做錯了什麼,或者爲什麼我檢索ArrayList時得到一個空指針異常?問題將ArrayList從一個活動傳遞到另一個活動

public void onClick(View v) { 
    if (selItemArray[0] == null) { 
     Toast.makeText(getApplicationContext()," Please make a Selection ", Toast.LENGTH_SHORT).show(); 
    } else { 
     Intent intent = new Intent(Recipes2.this, XMLParser.class); 
     Log.v("Recipes2", "selItemArray[0] before call to XML Parser : " + selItemArray[0]); 
     //Log.v("Recipes2", "selItemArray[1] before call to XML Parser : " + selItemArray[1]);  
     intent.putExtra("items_to_parse", selItemArray); 
     startActivityForResult(intent, 0);    
    } 
} 




public class XMLParser extends ListActivity { 
      /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //Bundle b = getIntent().getExtras(); 
     //itemsToParse = b.getStringArrayList("items_to_parse"); 
     ArrayList<String> itemsToParse = new ArrayList<String>(); 
     itemsToParse = getIntent().getExtras().getStringArrayList("items_to_parse");  Iterator<String> iterator = itemsToParse.iterator();   while(iterator.hasNext()) 
       Log.v("XMLParser", iterator.next().toString()); 

回答

0

您在「發件人」端使用了一個字符串數組,並試圖在接收端將其作爲ArrayList取回。這是行不通的。在兩邊都使用String數組,如果有必要的話,將它拉到數組列表中。

用於傳遞數據的程序是在這裏:

Passing String array between two class in android application

要將其轉換爲一個列表 - 簡單地做:

List<String> = Arrays.asList(stringArray); 
+0

感謝指出了這一點,大家好,非常感謝! – user676567 2011-05-22 19:15:22

1

它看起來好像你把一個String陣列,而不是一個ArrayList<String>

相關問題