2017-12-03 22 views
0

我是Android新手。我需要你的幫助。我的問題是 - 我有2類Nplist.javaAddcustomer.java。在我的AddCustomer類,一個TextView和一個Button是去Nplist類。在我的Nplist類有檢查表,這個檢查表來自數據庫和所有檢查值存儲在ArrayList<String>和一個Button用於返回AddCustomer類。我想ArrayList<String>這是在Nplist要通過顯示在我的AddCustomerTextview。我曾試過這些,但我的Addcustomer班級墜毀。如何使用Intent發送和接收ArrayList <String>?

1.Nplist.class

add.setOnClickListener(new View.OnClickListener() {<br> 
    @Override<br> 
      public void onClick(View view) {<br> 
         Bundle extra=new Bundle();<br> 
         extra.putSerializable("objects",checkedList);<br> 
        Intent intent = new Intent(Nplist.this, AddCustomer.class);<br> 
         intent.putExtra("extra",extra);<br> 
         startActivity(intent);<br> 
}); 

2.AddCustomer.class

onCrete()...{ 
Bundle extra = getIntent().getBundleExtra("extra");<br> 
    ArrayList<String> object = (ArrayList<String>)extra.getSerializable("objects");<br> 
    for (String str : object) {<br> 
     getnp.append(str + "\n");<br> 
} 
    } 

你期望的結果是? - 你得到的實際結果是什麼? (請提供任何錯誤。) 當我去這樣Nplist - > AddCustomer其對運作良好,但崩潰(AddCustomer - > Nplist - > AddCustomer

+0

您可以張貼在錯誤日誌 – FarshidABZ

+0

我可以顯示在您初始化併爲checkedList賦值 – Munir

回答

1

這是因爲當你回來到您的AddCustomer活動列表爲空。您可以通過創建一個全局類來解決這個問題,該類將把列表存儲在靜態字段中,並且您可以從任何您想要的類或活動訪問該列表。嘗試下面的解決方案。

Global.java類是如下:

public class Global { 

    private static ArrayList<String> object = new ArrayList<>(); 

    public static ArrayList<String> getObject() { 
     return object; 
    } 

    public static void setObject(ArrayList<String> object) { 
     Global.object = object; 
    } 
} 

NpList.java類設置列表如下價值:

onCreate()...{ 
    Bundle extra = getIntent().getBundleExtra("extra"); 
    ArrayList<String> object = Global.getObject(); 
    for (String str : object) { 
     getnp.append(str + "\n"); 
    } 
} 

add.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     Global.setObject(checkedList); 
     Intent intent = new Intent(Nplist.this, AddCustomer.class); 
     startActivity(intent); 
    } 
}); 

現在AdCustomer.java如下訪問這可能對你有幫助。

+0

感謝您的答覆代碼皮亞什... –

+0

歡迎。快樂編碼:) –

0

使用putStringArrayListExtra方法,您可以發送字符串的數組列表以及意圖。

發送方:

Intent intent = ... 
intent.putStringArrayListExtra("THE_KEY", theList); 

接收側:

ArrayList<String> theList = intent.getStringArrayListExtra("THE_KEY"); 
+0

感謝您的回覆.. –