我一直在寻找这个问题的答案,这花了我很长时间,但我在这里找到的答案都不令人满意。 问题是我想更新数据库中的记录,我需要将数据库值转换为Spinner值。这里的大多数答案提到了基于Arrays的Spinners解决方案,但没有提到CursorAdapters。
答案 0 :(得分:0)
经过大量的实验,我找到了一个解决方案,我想分享。
基于CursorAdapter的Spinner似乎使用CursorWrapper直接访问Cursor。因此,要在代码中访问,只需使用CursorWrapper。
以下是我的某个程序中代码的摘录。
TextView mTextView2 = (TextView) v
.findViewById(R.id.payer_payee_default_category);
Spinner mSpinner = (Spinner) findViewById(R.id.categories_spinner);
CursorWrapper mCursorWrapper;
for (int nbr = 0; nbr < mSpinner.getCount(); nbr++) {
mCursorWrapper = (CursorWrapper) mSpinner.getItemAtPosition(nbr);
if (String.valueOf(mCursorWrapper.getString(1)).equals(
String.valueOf(mTextView2.getText()))) {
mSpinner.setSelection(nbr);
}
}