有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从微调器向ListView添加项不起作用

我的应用程序中有两个ArrayList;一个包含所有站点的列表(AllStations),另一个包含用户选择的站点列表(MyStations)。用户将从微调器中选择电台,微调器包含AllStations arraylist中的所有项目,并将它们添加到myStationsarraylist中。有一个列表视图,显示myStationsarrayList中的数据

当用户选择要添加到mystationsarraylist的站点时,它会将其添加到“myStations”,但listview不会刷新。我试过了adapter.notifyDataSetChanged()我花了几天时间在谷歌上搜索等,但没有找到任何不让人耳目一新的原因。有人能帮我吗

public class MyStations extends Activity{

    ListView personalStations;
    Spinner spinner;
    ArrayList<String>AllStations = new ArrayList<String>();
    ArrayList<String>MyStations = new ArrayList<String>();
    ArrayAdapter<String> StationNames;
    ArrayAdapter<String> myStationNames;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_stations);
        assignStations();
        spinner = (Spinner) findViewById(R.id.spinner1);
        StationNames = new ArrayAdapter<String>(this, 安卓.R.layout.simple_list_item_1, AllStations);
        spinner.setAdapter(StationNames);
        spinner.setOnItemSelectedListener(new OnItemSelectedListener()
        {
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)
            {
                String selectedStation = spinner.getSelectedItem().toString();
                MyStations.add(selectedStation);
                myStationNames.notifyDataSetChanged();
                TextView txt1 = (TextView) findViewById(R.id.textView1);
                int size = MyStations.size();
                String sizes= String.valueOf(size);
                txt1.setText(sizes);


            }
            public void onNothingSelected(AdapterView<?> arg0)
            {
            // TODO Auto-generated method stub                 
            }
        });
        personalStations = (ListView) findViewById(R.id.myStnList);
        myStationNames = new ArrayAdapter<String>(this, 安卓.R.layout.simple_list_item_1, MyStations);
        personalStations.setAdapter(new ArrayAdapter<String>(MyStations.this, 安卓.R.layout.simple_list_item_1, MyStations));
    }

    public void assignStations(){
        ImportData stationData = new ImportData();
        stationData.importStations();
        AllStations = stationData.getStationNames();
    }

}

共 (0) 个答案