如何在java中向arraylist添加数据?

时间:2015-08-06 01:12:43

标签: android arrays arraylist spinner add

我创建微调器来过滤列表中的数据。 我有数据列表,我想添加arraylist, 例如我的代码:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
                               int position, long id) {
        String label = parent.getItemAtPosition(position).toString();


        ArrayList<MScheduleEvent.data> filteredList = new ArrayList<>();


        list_model.clear();
        for (MScheduleEvent.data m: _model){
            if (label.compareTo("ALL")==0 || m.getCategory().compareToIgnoreCase(label) == 0) {
                MScheduleEvent.data data = new MScheduleEvent.data(
                        m.getId(),
                        m.getName(),
                        m.getDescription(),
                        m.getDay(),
                        m.getDate(),
                        m.getTime(),
                        m.getPlace()
            }
            filteredList.add(data); // ERROR
        }

    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {

    }
});

但我想在filteredList中添加数据总是出错“java.util.arraylist中的add(MSchedule.data)不能应用于java.util.linkedlist”

1 个答案:

答案 0 :(得分:0)

您不能在那里使用data变量,因为它的范围不可见。试试这个:

   for (MScheduleEvent.data m: _model){
        if (label.compareTo("ALL")==0 || m.getCategory().compareToIgnoreCase(label) == 0) {
            MScheduleEvent.data data = new MScheduleEvent.data(
                    m.getId(),
                    m.getName(),
                    m.getDescription(),
                    m.getDay(),
                    m.getDate(),
                    m.getTime(),
                    m.getPlace()
            filteredList.add(data);
        }

    }