java从微调器向ListView添加项不起作用
我的应用程序中有两个ArrayList;一个包含所有站点的列表(AllStations
),另一个包含用户选择的站点列表(MyStations
)。用户将从微调器中选择电台,微调器包含AllStations arraylist中的所有项目,并将它们添加到myStations
arraylist中。有一个列表视图,显示myStations
arrayList中的数据
当用户选择要添加到mystations
arraylist的站点时,它会将其添加到“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) 个答案