2016-05-31 125 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()方法 –

相关问题