Tôi nhận được văn bản '[email protected]' được trả về từ cuộc gọi spinner.getSelectedItem(). ToString(). Tôi cung không chăc tại sao. Spinner được gắn với SimpleCursorAdapter.[email protected]
Đây là mã
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);
}
và 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" />
Các xml spinner trông như thế này
<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>
và con trỏ được trả lại là
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);
}
Các spinner xuất hiện để làm việc đúng cách. Khi tôi cố gắng để lưu này là những gì được thông qua như là giá trị của các mục được chọn bằng cách sử dụng spinner.getSelectedItem(). ToString().
Bất kỳ ai nhìn thấy bất cứ điều gì sai trái ở đây. Không chắc sẽ làm gì.
nhờ patrick
Điều này đã hoạt động chính xác với ArrayAdapter. Giá trị được thông qua sau đó là văn bản của danh mục (hoặc là Kinh doanh hoặc Cá nhân). Thực tế là tôi đang sử dụng một thay đổi SimpleCursorAdapter cách giá trị được chuyển? – bugzy