アプリに2つのArrayListがあります。1つはすべてのステーションのリストをAllStations
含み()、もう1つはユーザーが選択したステーションのリストを含みます(MyStations
)。ユーザーはスピナーからステーションを選択します。スピナーにはAllStationsアレイリストのすべてのアイテムが含まれており、それらにアレイリストが追加されますmyStations
。myStations
arrayList からのデータを表示するリストビューがあります。
ユーザーがアレイリストに追加するステーションを選択するとmystations
、それは「myStations」に追加されますが、リストビューは更新されません。数日グーグルなどをしてみ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, android.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, android.R.layout.simple_list_item_1, MyStations);
personalStations.setAdapter(new ArrayAdapter<String>(MyStations.this, android.R.layout.simple_list_item_1, MyStations));
}
public void assignStations(){
ImportData stationData = new ImportData();
stationData.importStations();
AllStations = stationData.getStationNames();
}
}