我正在遵循@JuanSánchez建议的answer,但我遇到了一个问题。
当尝试将ClassCastException对象(c)转换为CursorWrapper时,我的问题是一个CursorWrapper。更具体地说,代码行与CursorWrapper cw = (CursorWrapper)c;一样。
CursorWindow cursorWindow = null;
int cursorPosition = 0;
if (android.os.Build.VERSION.SDK_INT < 11) {
CursorWrapper cw = (CursorWrapper)c;
Class<?> cursorWrapper = CursorWrapper.class;
Field mCursor = null;
try {
mCursor = cursorWrapper.getDeclaredField("mCursor");
mCursor.setAccessible(true);
AbstractWindowedCursor abstractWindowedCursor = (AbstractWindowedCursor)mCursor.get(cw);
cursorWindow = abstractWindowedCursor.getWindow();
cursorPosition = abstractWindowedCursor.getPosition();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}任何帮助我都会非常感激。
发布于 2013-11-15 12:16:45
算出来了。超级简单。
换掉下面的行。
交换 CursorWrapper cw = (CursorWrapper)cursor;
For CursorWrapper cw = new CursorWrapper(cursor);
https://stackoverflow.com/questions/19999587
复制相似问题