我正在尝试在其中一个活动中创建一个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;显示,没有任何显示。我不知道我哪里出错了
答案 0 :(得分:0)
看一下这篇文章Intent.putExtra List它应该有所帮助。你需要使用intent.putStringArrayListExtra()方法,如果你仍然得到一个空对象,请确保你传递的列表不是空对象。