我需要Listener
在我的子类中的继承final
字段 ( mCursorLoader
) 上注册 a。我需要在constructor
我的子类中执行此操作。最好不要将字段更改为子类non-final
或在子类中执行任何操作unRegistering
。
问题是我的父类Listener
在其构造函数中注册了它的实现。我需要一种方法来阻止它注册Listener
然后注册子类Listener
或取消注册父类Listener
然后注册子类Listener
。
很难解释,所以如果需要更多澄清,请告诉我。
public abstract class A<T> extends AsyncTaskLoader<List<T>> {
protected final Listener mListener = new Listener();
protected final CursorLoader mCursorLoader;
protected final String mId;
public A(Context context, String mId) {
super(context);
this.mCursorLoader = new CursorLoader(context);
this.mCursorLoader.registerListener(0, mListener);
this.mId = mId;
}
public class Listener implements OnLoadCompleteListener<Cursor> {
public void onLoadComplete(final Loader<Cursor> loader, final Cursor cursor) {
}
}
}
public abstract class B<T> extends A<T> {
protected B(Context context, String mId) {
super(context, mId);
}
public class Listener implements OnLoadCompleteListener<Cursor> {
public void onLoadComplete(final Loader<Cursor> loader, final Cursor cursor) {
}
}
}