2016-05-31 89 views
0

我想創建一個arrayList在其中一個活動,並將其傳遞給另一個活動,並顯示它在ListView中。在第一個活動的第一個目的代碼onOptionItemSelected方法中ArrayList到另一個活動,並顯示在一個ListView

else if(id == R.id.History) 
    { 
Intent i=new Intent(this,History.class); 
i.putExtra("name",al); 
startActivity(i); 

這是其他活動代碼

protected void onCreate(Bundle savedInstanceState)  
{ 

super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main2); 
ArrayList<String> str= (ArrayList<String>)getIntent().getParcelableExtra("name"); 

ListView lv=(ListView)findViewById(R.id.list); 
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
        this, 
        android.R.layout.simple_list_item_1, 
        str); 
      lv.setAdapter(arrayAdapter); 

這是我如何在第一個活動增添了數組列表, ArrayList的是全局定義,n是運行索引的變量。它被定義爲0,在第一次,然後通過2 incremeneted之前addToStringList方法被稱爲

public void addToStringList(){ 

    EditText et=(EditText)findViewById(R.id.abcd); 
    EditText et1=(EditText)findViewById(R.id.abc); 
    String eam1=et.getText().toString(); 
    String eam2=et1.getText().toString(); 
    al1.add(n-2,eam1); 
    al1.add(n-1,eam2); 
} 

每當我點擊溢出項目按鈕「產生的原因:顯示java.lang.NullPointerException:」被示出,並且正在顯示任何內容。我不知道我要去哪裏錯

+1

NullPointerException堆棧跟蹤指向哪行代碼? – Amit

+0

引起:java.lang.NullPointerException:試圖在空對象引用上調用接口方法'int java.util.List.size()',其位置爲android.widget.ArrayAdapter.getCount(ArrayAdapter.java:337)處的 , at android.widget.ListView.setAdapter(ListView.java:491)@Amit –

回答

0

看看這個職位Intent.putExtra List它應該幫助。您需要使用intent.putStringArrayListExtra()方法,而不是它出現,如果您仍然得到一個空對象,請確保您傳遞的列表不是空對象。

+0

Thanks @James that worked! 將其更改爲putStringArrayListExtra()和getStringArrayListExtra()方法 –

相關問題