ArrayList到另一个活动并显示在ListView

时间:2016-05-31 19:48:00

标签: java android listview arraylist view

我正在尝试在其中一个活动中创建一个arrayList,并将其传递给另一个活动,并在Listview中显示它。第一个活动中的第一个意图代码位于onOptionItemSelected方法

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,然后在调用addToStringList方法之前将其递增2

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

每当我点击溢出项目按钮&#34;引起:java.lang.NullPointerException:&#34;显示,没有任何显示。我不知道我哪里出错了

1 个答案:

答案 0 :(得分:0)

看一下这篇文章Intent.putExtra List它应该有所帮助。你需要使用intent.putStringArrayListExtra()方法,如果你仍然得到一个空对象,请确保你传递的列表不是空对象。