2016-05-31 4 views
0

アクティビティの1つにarrayListを作成し、それを別のアクティビティに渡してListviewに表示しようとしています。最初の活動の最初の目的コードは別のアクティビティへの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のはあるonOptionItemSelectedメソッド内でnは、インデックスを実行している変数です。 「:java.lang.NullPointerExceptionが:によって引き起こさ」に示されていると何も表示されません取得され、それは私がオーバーフロー項目ボタンをクリックしていますたび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); 
} 

と呼ばれる前に、2によってincremenetedそして、最初は0と定義されます。私はどこが間違っているのか分かりません

+1

NullPointerExceptionスタックトレースが指すコード行はどれですか? – Amit

+0

原因:java.lang.NullPointerException:ヌルオブジェクト参照で、インターフェイスメソッド 'int java.util.List.size()'を呼び出そうとしました。android.widget.ArrayAdapter.getCount(ArrayAdapter.java:337)の android.widget.ListView.setAdapter(ListView.java:491)の @Amit –

答えて

0

これを参照してください投稿Intent.putExtra Listそれは助ける必要があります。代わりにintent.putStringArrayListExtra()メソッドを使用する必要があります。まだnullオブジェクトがある場合は、渡すリストがnullオブジェクトでないことを確認してください。

+0

ありがとう@James that worked! putStringArrayListExtra()およびgetStringArrayListExtra()メソッドに変更する –

関連する問題