尝试显示列表

时间:2016-03-18 11:33:27

标签: java android xml listview

所以我有一个活动,通过Web服务获取XML文件。它读取XML并将该XML中的相关文本存储到名为xmlText的List<String>对象中。在检索完所有文本后,我开始另一个活动,其中包含一个线性布局,线性布局内部是一个ListView。我通过填充一个名为xmlInString的ArrayList<String>对象来传递xmlText的内容。然后我通过意图传递xmlInString。

我想填充listView以显示xml文件中的文本。在刚刚开始的活动中,我填充了一个List<String>对象,其中包含xmlInString中的元素。然后我实例化arrayadapter,其中listview调用方法setAdapter()并传入arrayadapter对象。

但每次运行它时,我运行应用程序Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference at com.w1481217.organiser.wordXMLList.populateList(wordXMLList.java:43)

时都会出现空指针异常

这是我的代码:

public class wordXMLList extends Activity {

    Intent i;
    ListView lv;
    ArrayAdapter<String> adapter;
    ArrayList<String> xmlInString;
    List<String> xml;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wordlisting);
        i = getIntent();
        xmlInString = i.getStringArrayListExtra("xml");
        lv = (ListView) findViewById(R.id.listView2);

        populateList(xmlInString);
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, xml);
        lv.setAdapter(adapter);


    }

    private void populateList(ArrayList<String> xmlToConvert) {
                for(int i =0; i < xmlToConvert.size(); i++){
                    xml.add(xmlToConvert.get(i));
                    Log.d("threading", "final output in xmlToConvert: " + xmlToConvert.get(i));
                }
    }

}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

Try this:
    private void populateList(ArrayList<String> xmlToConvert) {
    xml = new ArrayList<>();
                for(int i =0; i < xmlToConvert.size(); i++){
                    xml.add(xmlToConvert.get(i));
                    Log.d("threading", "final output in xmlToConvert: " + xmlToConvert.get(i));
                }
    }