スピナーのアイテムが選択されたときにリストビューを更新しようとしていますが、うまくいきません。
ここに私のスピナーがあります:
Spinner spnTypeSchool = (Spinner)findViewById(R.id.spnType);
spnTypeSchool.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,strarray));
spnTypeSchool.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
spnItemClick = arg0.getItemIdAtPosition(arg2)+1;
myDbHelper.open(); // my databaseHelper
Cursor spnSelectSchoolType = myDbHelper.getSchoolTypeList(spnItemClick);
if(spnSelectSchoolType != null && spnSelectSchoolType.moveToFirst())
{
do
{
schoolTypeSelectedForSpinner.add(spnSelectSchoolType.getString(0).toString());
}
while(spnSelectSchoolType.moveToNext());
}
String[] strSchoolByTypeSelected = new String[schoolTypeSelectedForSpinner.size()];
schoolTypeSelectedForSpinner.toArray(strSchoolByTypeSelected);
myDbHelper.close();
}
public void onNothingSelected(AdapterView<?> arg0) {/* TODO Auto-generated method stub*/}
});
これが私の ListView です:
final ListView result = (ListView)findViewById(R.id.resultListView);
result.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,schoolTypeSelectedForSpinner));
ここに私のデータベースクエリがあります
public Cursor getSchoolTypeList(long sType)
{
return db.rawQuery("select school_name from tbl_school where s_type =\""+sType+"\"", null);
}
私が直面している問題は、アイテムを選択すると、リストビューが正しく更新されないことです。スピナーの最初の選択と 2 番目の選択が結合され、正しくない値が返されます。
あなたの助けを前もって感謝します....