在Android2.2上,mContext=context (或者我放在那里的任何东西)都不会被调用。它确实可以在2.3+上工作。这是一个已知的问题吗?有解决办法吗?
public class ExpListCursorAdapter extends SimpleCursorTreeAdapter {
Context mContext;
public ExpListCursorAdapter(Context context, Cursor cursor,
int groupLayout, String[] groupFrom, int[] groupTo,
int childLayout, String[] childFrom, int[] childTo) {
super(context, cursor, groupLayout, groupFrom, groupTo, childLayout, childFrom,
childTo);
mContext=context;
}
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
int id=groupCursor.getInt(DatabasePazienti.ROWID);
DatabaseTests mDbTests=new DatabaseTests(mContext);
mDbTests.open();
Cursor cursor=mDbTests.fetchPatientTests(id);
return cursor;
}发布于 2012-07-18 01:57:41
API2.2中SimpleCursorTreeAdapter的实现与API2.3有所不同。正如你在这里看到的:
API 2.2
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.2_r1.1/android/widget/SimpleCursorTreeAdapter.java
API 2.3
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3_r1/android/widget/SimpleCursorTreeAdapter.java
当您使用API2.2时,它指出由于构造函数中调用的方法的顺序,mContext = context永远不会被调用。
发布于 2012-07-18 01:05:44
我确认这是一个Android 2.2的bug (即使我找不到任何关于它的参考资料)。我在我的包中包含了来自Android2.3.3的SimpleCursorTreeAdapter.java,现在它可以工作了。
https://stackoverflow.com/questions/11520966
复制相似问题