【问题标题】:ArrayList to another activity and display in a ListViewArrayList 到另一个活动并显示在 ListView
【发布时间】:2016-05-31 19:48:00
【问题描述】:

我正在尝试在其中一个活动中创建一个 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);
}

每当我单击溢出项按钮“Caused by: java.lang.NullPointerException:”时,都会显示并且没有显示任何内容。我不知道我哪里错了

【问题讨论】:

  • NullPointerException 堆栈跟踪指向哪一行代码?
  • 引起:java.lang.NullPointerException:尝试在 android.widget.ArrayAdapter.getCount(ArrayAdapter) 上对空对象引用调用接口方法“int java.util.List.size()” .java:337) ,在 android.widget.ListView.setAdapter(ListView.java:491) @Amit

标签: java android listview arraylist view


【解决方案1】:

看看这个帖子Intent.putExtra List 它应该会有所帮助。您需要使用 intent.putStringArrayListExtra() 方法代替它出现,如果您仍然得到一个空对象,请确保您传递的列表不是空对象。

【讨论】:

  • 感谢@James 成功了!将其更改为 putStringArrayListExtra() 和 getStringArrayListExtra() 方法
猜你喜欢
  • 2018-07-28
  • 2015-07-20
  • 1970-01-01
  • 2015-09-15
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 2023-01-11
相关资源
最近更新 更多