从Intent填充ListView

时间:2012-06-06 14:10:07

标签: android android-intent arraylist android-listview

我已经启动了一个包含List的Intent的Activity,但是当我收集数据并将其绑定到ListView时,应用程序崩溃了。我在这一行得到了错误:

resultMenu.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, selected));

这是我的整个活动。提前致谢。

public class Result extends Activity {
    private ArrayList<String> menuList;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result);

        Intent intent = this.getIntent();
        ArrayList<String> selected = intent.getStringArrayListExtra("menuList"); 

        // Configure the listview
        ListView resultMenu = (ListView)this.findViewById(R.id.menuResult);
        resultMenu.setAdapter(new ArrayAdapter<String>(this, 
                android.R.layout.simple_list_item_1, selected));
    }
}

1 个答案:

答案 0 :(得分:0)

由于你的力量关闭是由这一行引起的:

resultMenu.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, selected));

我能看到的两个可能的错误是:

  1. selected为空,或
  2. resultMenu为空
  3. 这两个都会导致空指针异常。如果您的文件result.xml具有带android:id="@+id/resultMenu的ListView元素,则错误位于selected

    我打赌selected可能是String [],或者Intent没有'menuList'键。

    如何构建用于启动活动的意图Result