データベースからのデータをスピナーに入力しようとしています。コードはサブルーチンにあります。すべてが実行されますが、スピナーは空です。コードを「onCreate(Bundle saveInstanceState)」にコピーすると、正常に動作します。コンテキストの問題があると考えていますが、理解できません。
サブルーチンは次のとおりです。
public void showMatchNames (){
Cursor c;
String sMatchName = "MatchTable";
c = db.query(sMatchName, new String[]{KEY_ROWID, KEY_TITLE}, null, null, null, null, null);
if(c.moveToFirst()){
SimpleCursorAdapter MatchAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_spinner_item, c, new String[]{KEY_TITLE}, new int[]{android.R.id.text1});
MatchAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spin2 = (Spinner)this.findViewById(R.id.spinner2);
spin2.setAdapter(MatchAdapter);
}
scrMatchView.setOnItemSelectedListener(new mySpinnerListener());
c.close(); // Done with Cursor so close it
}
データベースにデータがあり、SQliteMan にエクスポートしてクエリを実行することで確認できます。また、データベースから名前を取得し、「showMatchNames」サブルーチンから単純な ArrayAdapter をスピナーに入力することもできます。
私はそれが単純なものだと確信していますが、私はこれを何時間も見つめていて、それを機能させることができません.
どんな助けでも大歓迎です。