1

データベースからのデータをスピナーに入力しようとしています。コードはサブルーチンにあります。すべてが実行されますが、スピナーは空です。コードを「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 をスピナーに入力することもできます。

私はそれが単純なものだと確信していますが、私はこれを何時間も見つめていて、それを機能させることができません.

どんな助けでも大歓迎です。

4

0 に答える 0