Невозможно привязать данные по запросу из БД в спиннер - PullRequest
0 голосов
/ 18 июня 2011

Эй, ребята, у меня уже есть данные в моей базе данных, но я хочу показать их в счетчике. Я действительно новичок в этой проблеме, так что вы, ребята, помогите мне решить эту проблему, или я бы предпочел, чтобы вы написали правильную Код для меня :) Заранее спасибо.

Сначала это мой класс БД

        public class DBAdapter 
 {
public static final String UPDATEDATE = "UpdateDate"; 
//Declare fields in PersonInfo
public static final String ROWID = "_id";
public static final String PT_FNAME = "Username";
public static final String PT_COLORDEF = "ColorDeficiency";

private static final String DATABASE_CREATE =
    "create table PersonInfo (_id integer primary key autoincrement, "
    + "Username text not null, ColorDeficiency text);"; 
private static final String DATABASE_NAME = "CAS_DB";
private static final String tbPerson = "PersonInfo";
private static final int DATABASE_VERSION = 1;
private final Context databaseContext; 
private final Context context;  
private DatabaseHelper DBHelper;
public SQLiteDatabase db;
public DBAdapter(Context ctx) 
{
    this.context = ctx;
    DBHelper = new DatabaseHelper(context);
    databaseContext = ctx;       
}
//start database helper
private static class DatabaseHelper extends SQLiteOpenHelper 
{
    DatabaseHelper(Context context) 
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    @Override
    public void onCreate(SQLiteDatabase db) 
    {
        db.execSQL(DATABASE_CREATE);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, 
    int newVersion) 
    {

    }
}     
//---opens the database---
public DBAdapter open() throws SQLException 
{
    db = DBHelper.getWritableDatabase();
    return this;
}
//---closes the database---    
public void close() 
{
    DBHelper.close();
}  


public Cursor all(Activity activity){

    String[] from ={ROWID,PT_FNAME,PT_COLORDEF};
    String order = PT_FNAME;
    Cursor cursor =db.query(tbPerson, from, null, null, null, null, order);

    activity.startManagingCursor(cursor);
    return cursor;
}

В другом классе

        private DBAdapter db;
        private Spinner spinner;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.greeting);
        initComponent();

        db = new DBAdapter(this);

        Cursor c = db.all(this);        
        SimpleCursorAdapter CursorAdapter = new SimpleCursorAdapter(
                this,android.R.layout.simple_spinner_item,c,
                new String[]{DBAdapter.PT_FNAME},new int[]{android.R.id.list});

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

1 Ответ

0 голосов
/ 19 июня 2011

попробуйте изменить

new int[]{android.R.id.list}

до

new int[]{android.R.layout.simple_spinner_item}
...