微调器显示数据库中的数据
Posted
技术标签:
【中文标题】微调器显示数据库中的数据【英文标题】:spinner show data from database 【发布时间】:2011-02-12 18:49:18 【问题描述】:我想使用微调器(显示数据库中的数据)可以将字符串返回给我 从这种情况下它可以工作
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);
这是我的日志
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): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 02-13 01:42:06.453: 错误/AndroidRuntime(703): 在 java.lang.reflect.Method.invokeNative(Native Method) 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(Native Method)
请帮忙...
【问题讨论】:
【参考方案1】:我遇到了同样的问题,这段代码对我有用:
String item = null;
Cursor cSpinner = (Cursor)(yourSpinner.getSelectedItem());
if (cSpinner != null)
spinnerString = cSpinner.getString(
cc.getColumnIndex("Last_Name"));
【讨论】:
以上是关于微调器显示数据库中的数据的主要内容,如果未能解决你的问题,请参考以下文章