Spinner Показать данные из базы данных - PullRequest
0 голосов
/ 12 февраля 2011

Я хочу использовать spinner (который показывает данные из базы данных), может вернуть мне строку String, в этом случае она работает

spinner_InputLanguage = (Spinner)findViewById(R.id.spinner_InputLanguage);

    ArrayAdapter<CharSequence> adapter
      = ArrayAdapter.createFromResource(this,
        R.array.language, android.R.layout.simple_spinner_item);

      spinner_InputLanguage = (Spinner) findViewById(R.id.spinner_InputLanguage);
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spinner_InputLanguage.setAdapter(adapter);

    String language = (String)spinner_InputLanguage
                .getItemAtPosition((int) spinner_InputLanguage
                        .getSelectedItemId());

Поэтому я пытаюсь сделать это самостоятельно, но она принудительно закрывается

cursor = db.getLang();
    cursor.moveToFirst();
    startManagingCursor(cursor);
    SimpleCursorAdapter qc = new SimpleCursorAdapter(
            this,
            android.R.layout.simple_spinner_item,
            cursor,
            new String[] {DBAdapter.KEY_LANG},
            new int[] {android.R.id.text1});
        qc.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    String language = (String)Language_Spinner.getItemAtPosition((int) Language_Spinner.getSelectedItemId());
        Language_Spinner.setAdapter(qc);

и это мой logcat

02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): java.lang.ClassCastException: android.database.sqlite.SQLiteCursor 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на com.android.proj.Sens_Create $ 2.onClick (Sens_Create.java:97) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на android.view.View.performClick (View.java:2408) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на android.view.View $ PerformClick.run (View.java:8816) 02-13 01:42: 06.453: ОШИБКА / AndroidRuntime (703): на android.os.Handler.handleCallback (Handler.java:587) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на android.os.Handler.dispatchMessage (Handler.java:92) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на android.os.Looper.loop (Looper.java:123) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на андрoid.app.ActivityThread.main (ActivityThread.java:4627) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): в java.lang.reflect.Method.invokeNative (собственный метод) 02-13 01:42: 06.453: ОШИБКА / AndroidRuntime (703): в java.lang.reflect.Method.invoke (Method.java:521) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 02-13 01: 42: 06.453: ОШИБКА / AndroidRuntime (703): at dalvik.system.NativeStart.main (собственный метод)

Пожалуйста, помогите ...

1 Ответ

1 голос
/ 20 мая 2012

У меня была такая же проблема, и этот код работал для меня:

String item = null;
Cursor cSpinner = (Cursor)(yourSpinner.getSelectedItem());
if (cSpinner != null) {
    spinnerString = cSpinner.getString(
        cc.getColumnIndex("Last_Name"));
}
...