Android 我无法使用游标适配器从ListView表单中的db中的2个字段中获取数据
我想要,使用Cursoradapter从列表视图上的数据库中获取两个字段的数据。 我能够使用Cursoradapter从数据库中获取单个字段的数据 在这里,我想在列表视图中显示两个字段的数据,即Constants.file\u name和Constants.url\u pathAndroid 我无法使用游标适配器从ListView表单中的db中的2个字段中获取数据,android,database,simplecursoradapter,android-cursoradapter,Android,Database,Simplecursoradapter,Android Cursoradapter,我想要,使用Cursoradapter从列表视图上的数据库中获取两个字段的数据。 我能够使用Cursoradapter从数据库中获取单个字段的数据 在这里,我想在列表视图中显示两个字段的数据,即Constants.file\u name和Constants.url\u path dba = new MyDB(this); dba.open(); mQuery = "Select " + Constants.DOCU_ID + "," + Constants.FILE_NAME
dba = new MyDB(this);
dba.open();
mQuery = "Select " + Constants.DOCU_ID + ","
+ Constants.FILE_NAME
+ ","
+ Constants.URL_PATH
+ " from "
+ Constants.TABLE_NAME_DOCU
+ " where " + Constants.KEY_ID_CONTACT_DOCU
+ " = " + mContactKeyID;
c = dba.getResults(mQuery);
startManagingCursor(c);
String[] resultColumns;
if (c != null && c.moveToFirst()) {
}
int[] textviews = new int[] { android.R.id.text1, android.R.id.text2};
resultColumns = new String[] { Constants.FILE_NAME, Constants.URL_PATH };
mAdapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1, c,
resultColumns, textviews);
this.setListAdapter(mAdapter);
getListView().setTextFilterEnabled(true);
这里我使用游标检索数据..但url\u路径不是重试
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
super.onItemClick(parent, view, position, id);
final Cursor c = (Cursor) mAdapter
.getItem(position);
uname = c.getString(c.getColumnIndex(Constants.FILE_NAME));
docuId = c.getInt(c
.getColumnIndex(Constants.DOCU_ID));
urlPath = c.getString(c.getColumnIndex(Constants.URL_PATH));
怎么了?您可以使用DatabaseUtilsdumpCurrentRow调试光标数据在我的示例中,此字段中的一个在ListView上显示为空您是否在onItemClick内调用DatabaseUtilsdumpCurrentRow?您是否可以编写我不懂的语法…在onItemClick方法内调用DatabaseUtilsdumpCurrentRow方法,这里不清楚什么?
09-23 17:56:07.756: E/AndroidRuntime(2776): FATAL EXCEPTION: main
09-23 17:56:07.756: E/AndroidRuntime(2776): Process: com.cbsinfosys.FieldWorkMobility, PID: 2776
09-23 17:56:07.756: E/AndroidRuntime(2776): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
09-23 17:56:07.756: E/AndroidRuntime(2776): at com.cbsinfosys.FieldWorkMobility.ViewBrowse$1.onClick(ViewBrowse.java:383)
09-23 17:56:07.756: E/AndroidRuntime(2776): at android.view.View.performClick(View.java:4780)
09-23 17:56:07.756: E/AndroidRuntime(2776): at android.view.View$PerformClick.run(View.java:19866)
09-23 17:56:07.756: E/AndroidRuntime(2776): at android.os.Handler.handleCallback(Handler.java:739)
09-23 17:56:07.756: E/AndroidRuntime(2776): at android.os.Handler.dispatchMessage(Handler.java:95)
09-23 17:56:07.756: E/AndroidRuntime(2776): at android.os.Looper.loop(Looper.java:135)
09-23 17:56:07.756: E/AndroidRuntime(2776): at android.app.ActivityThread.main(ActivityThread.java:5257)
09-23 17:56:07.756: E/AndroidRuntime(2776): at java.lang.reflect.Method.invoke(Native Method)
09-23 17:56:07.756: E/AndroidRuntime(2776): at java.lang.reflect.Method.invoke(Method.java:372)
09-23 17:56:07.756: E/AndroidRuntime(2776): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
09-23 17:56:07.756: E/AndroidRuntime(2776): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)