【问题标题】:Unable to bind data by query from DB to spinner无法通过从 DB 到微调器的查询绑定数据
【发布时间】:2011-06-19 04:12:26
【问题描述】:

大家好,我的数据库中已经有一个数据,但我想将它显示到微调器中我对这个问题真的很陌生,所以你们能帮我解决这个问题吗?我的代码:) 在此先感谢。

首先这是我的数据库类

        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);

【问题讨论】:

  • 您应该告诉我们确切的问题是什么。怎么了?有什么错误吗?

标签: android sqlite spinner


【解决方案1】:

尝试改变

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    相关资源
    最近更新 更多