在Android 2.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;
}
答案 0 :(得分:0)
我确认这是一个Android 2.2错误(即使我找不到它的任何参考)。我在我的软件包中包含了Android 2.3.3中的SimpleCursorTreeAdapter.java,现在它可以工作了。
答案 1 :(得分:0)
API 2.2中SimpleCursorTreeAdapter
的实现与API 2.3不同。
正如你在这里看到的那样:
API 2.2
API 2.3
使用API 2.2时,由于构造函数中调用的方法序列,因此永远不会调用mContext = context
。