无法通过查询从DB绑定数据到微调器

时间:2011-06-18 19:28:07

标签: android sqlite spinner

嘿伙计我已经在我的数据库中有一个数据,但是我想把它显示到微调器中我对这个问题真的很新,所以你们帮我解决这个问题,或者我更喜欢你写的正确我的代码:)提前谢谢。

首先这是我的DB类

        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 :(得分:0)

尝试更改

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

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