簡體   English   中英

將ArrayList從一個活動傳遞到另一個活動時遇到問題

[英]Problem Passing ArrayList from one Activity to Another

我一直在嘗試將ArrayList從一個Activity傳遞到另一個Activity時遇到麻煩。 當我嘗試遍歷XMLParser類中的ArrayList時,我的代碼以Null指針異常失敗。 我已經將打印語句放到了生成ArrayList的Activity中,看起來還不錯。 有人可以看到我在做什么錯嗎,或者為什么在檢索ArrayList時為什么會得到Null指針異常?

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

看起來您要放置一個String數組,而不是ArrayList<String>

您在“發送方”側使用了一個字符串數組,並試圖在接收方將其作為ArrayList取回。 那行不通。 在兩側使用String數組,並在必要時將其拉入數組列表。

傳遞數據的過程在這里:

在Android應用程序的兩個類之間傳遞String數組

要將其轉換為列表,只需執行以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM