微调器数据连接问题 - 数据绑定成功,但微调器显示空白文本

发布于 2024-12-01 09:27:02 字数 1632 浏览 0 评论 0原文

我一直在尝试将 Spinner 绑定到数据库,终于成功了。我已使用游标适配器将微调器连接到数据库表。但问题是微调器已填充,但其中的列表项显示空白文本。我知道绑定成功,因为它显示的行数与数据库表中的记录一样多。 不知道它是什么。请有人帮助我,我被困在这里 我发布下面的代码

public long createAccount() {

    ContentValues initialValues = createContentValues();
    Log.i("DB", initialValues.get(KEY_NAME)+":"+
            initialValues.get(KEY_MAILBOXTYPE)+":"+
            initialValues.get(KEY_OUTPORT)+":"+
            initialValues.get(KEY_INPORT)+":"+
            initialValues.get(KEY_INSERVER)+":"+
            initialValues.get(KEY_OUTSERVER)+":");
    return database.insert(DATABASE_TABLE, null, initialValues);
}



/**
 * Return a Cursor over the list of all todo in the database
 * 
 * @return Cursor over all notes
 */
public Cursor fetchAccount() {
    Log.i("DB", "Cursor opened");

    return database.query(DATABASE_TABLE, new String[] { KEY_ROWID,
             KEY_NAME,KEY_INSERVER}, null, null, null,
            null, null);



}

微调器绑定的代码如下:

                mAccAdap.createAccount();

                Cursor c = mAccAdap.fetchAccount();        
                startManagingCursor(c);
                SimpleCursorAdapter CursorAdapter = new SimpleCursorAdapter(
                        this,android.R.layout.simple_spinner_item,c,
                        new String[]{mAccAdap.KEY_INSERVER},new int[]{R.id.tvDBViewRow});

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

                            spinEmail=(Spinner)findViewById(R.id.spinAccount);
                            spinEmail.setAdapter(CursorAdapter);

i have been trying to bind spinner to a database and finally got succeeded. i have connected spinner to database table using cursoradapter. but the problem is the spinner gets populated but the list items in it shows blank text. i know binding is successful because it shows as many rows as there are records in database table.
can not figure out what it is. some body please help i am stuck here
i am posting the code below

public long createAccount() {

    ContentValues initialValues = createContentValues();
    Log.i("DB", initialValues.get(KEY_NAME)+":"+
            initialValues.get(KEY_MAILBOXTYPE)+":"+
            initialValues.get(KEY_OUTPORT)+":"+
            initialValues.get(KEY_INPORT)+":"+
            initialValues.get(KEY_INSERVER)+":"+
            initialValues.get(KEY_OUTSERVER)+":");
    return database.insert(DATABASE_TABLE, null, initialValues);
}



/**
 * Return a Cursor over the list of all todo in the database
 * 
 * @return Cursor over all notes
 */
public Cursor fetchAccount() {
    Log.i("DB", "Cursor opened");

    return database.query(DATABASE_TABLE, new String[] { KEY_ROWID,
             KEY_NAME,KEY_INSERVER}, null, null, null,
            null, null);



}

Code for spinner binding is below:

                mAccAdap.createAccount();

                Cursor c = mAccAdap.fetchAccount();        
                startManagingCursor(c);
                SimpleCursorAdapter CursorAdapter = new SimpleCursorAdapter(
                        this,android.R.layout.simple_spinner_item,c,
                        new String[]{mAccAdap.KEY_INSERVER},new int[]{R.id.tvDBViewRow});

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

                            spinEmail=(Spinner)findViewById(R.id.spinAccount);
                            spinEmail.setAdapter(CursorAdapter);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇俏 2024-12-08 09:27:02

尝试将 SimpleCursorAdapter...

new int[]{R.id.tvDBViewRow}

的这一部分更改为...

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

Try changing this part of your SimpleCursorAdapter...

new int[]{R.id.tvDBViewRow}

to this...

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文