当前位置:首页 > 数据库 > SQlite

android.database.sqlite.SQLiteCursor@435b9ba0

我收到了从spinner.getSelectedItem().toString()调用返回的文本’android.database.sqlite.SQLiteCursor@435b9ba0′.我不知道为什么.微调器绑定到SimpleCursorAdapter.

这是代码

    cCategories = (Cursor) myAdapter.getAllCategories();
    this.startManagingCursor(cCategories);

    SimpleCursorAdapter scaCategories = new SimpleCursorAdapter(this, R.layout.track_category_item,cCategories,new String[] {DBAdapter.KEY_CATEGORIES_NAME},new int[]{R.id.text1});
    scaCategories.setDropDownViewResource(R.layout.track_category_dropdown_item); 
    mCatSpinner = (Spinner) findViewById(R.id.thecategory);
    mCatSpinner.setAdapter(scaCategories);

    if(mCatSpinner.isSelected() != true) {
        mCatSpinner.setSelection(0);
    }

和xml
track_category_item.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:ellipsize="marquee"
    android:singleLine="true">
</TextView>

track_category_dropdown_item.xml

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"           
    android:id="@+id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:singleLine="true"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:ellipsize="marquee" />

spinner xml看起来像这样

<Spinner
    android:id="@+id/thecategory"
    android:prompt="@string/SELECT_CATEGORY"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_x="15px"
    android:layout_y="133px" >
</Spinner>

并且返回的光标是

public Cursor getAllCategories() 
{
    return db.query(DATABASE_CATEGORIES_TABLE, new String[] {
            KEY_CATEGORIES_ROWID,
            KEY_CATEGORIES_NAME,
            KEY_CATEGORIES_DEFAULT}, 
            null, 
            null, 
            null, 
            null, 
            null);
}

微调器似乎正常工作.当我尝试保存时,这是使用spinner.getSelectedItem().toString()作为所选项的值传递的内容.

任何人都会在这里看到任何错误的错误.不知道该怎么办.

谢谢
帕特里克

最佳答案:

您的代码在编写时正常工作. Spinner是一个AdapterView.您连接到它的适配器是SimpleCursorAdapter.这意味着所选项目是Cursor(位于Cursor结果集中与用户选择对应的项目). Cursor具有toString()的默认实现,返回类似android.database.sqlite.SQLiteCursor@435b9ba0的内容.

由于您没有告诉我们您要做什么,因此无法准确地为您提供建议.但是,无论您想要保存什么,都需要从getSelectedItem()获得的Cursor中拉出.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!