0

スピナーの選択を埋めるためにデータベースにクエリを実行しています(これは正常に機能します)が、選択した位置からアクティビティの残りの部分にいくつかの TextView を入力したいと考えています。これは、アクティビティを処理するための私のクラスです:

public class Post_Player_Info extends Activity implements OnItemSelectedListener{

DBAdapter db = new DBAdapter(this);
Spinner spinner;
TextView SportType;
Button Left, Right, Front, Back;
DBAdapter Info = new DBAdapter(this);

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.postplayerinfo);

    spinner = (Spinner) findViewById(R.id.spinner1);
    SportType = (TextView) findViewById(R.id.tvSportType);

    db.open();

    Cursor c = db.getNames();

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item,
        c,  new String[] {DBAdapter.ROW_FIRSTNAME}, 
        new int[] {android.R.id.text1});

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    db.close();

}

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub

    int position = spinner.getSelectedItemPosition();
    switch (position) {
    case 0: 
        Info.open();
        String data = Info.getData();
        SportType.setText(data);
        Info.close();
    break;

    }

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

}

}

dbhelper でデータを取得しようとしている場所は次のとおりです。

public String getData() {
    // TODO Auto-generated method stub
    String [] columns = new String [] {ROW_SPORT};
    Cursor c = db.query(DATABASE_TABLE1, columns, null, null, null, null, null);
    String results = "";

    int sport = c.getColumnIndex(ROW_SPORT);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        results = results + c.getString(sport) + " ";
    }
    return results;
}
4

1 に答える 1

2

うーん、何が問題なのかわかりません...しかし、これは私の推測です:

onCreate() に次の行が表示されません。

spinner.setOnItemSelectedListener(this);

また、Java の命名規則についてもお読みSportTextくださいsportText


dbとの両方があることに気付きましたInfoが、同じことをします。これらのいずれかを削除できます。

于 2012-09-03T21:30:37.990 に答える