如何根据数据库中的值设置Spinner值?

时间:2015-02-15 13:38:14

标签: android spinner

我一直在寻找这个问题的答案,这花了我很长时间,但我在这里找到的答案都不令人满意。 问题是我想更新数据库中的记录,我需要将数据库值转换为Spinner值。这里的大多数答案提到了基于Arrays的Spinners解决方案,但没有提到CursorAdapters。

1 个答案:

答案 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);
    }
}