1

スピナーのアイテムが選択されたときにリストビューを更新しようとしていますが、うまくいきません。

ここに私のスピナーがあります:

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 番目の選択が結合され、正しくない値が返されます。

あなたの助けを前もって感謝します....

4

0 に答える 0