これが私の解決策です:
FragmentSherlockFragment をラップするネイティブを作成しました。
public class HelperFragment extends ListFragment {
MyFragment cp;
public HelperFragment() {
cp = new MyFragment();
}
}
のような上書きされた通話はonCreateView()転送する必要がありますが、特別な処理が必要なものもあります。getActivity()inの代わりにMyFragment、次の構成を使用しました。
private Activity activity;
@Override
public void onAttach(final Activity activity) {
this.activity = activity;
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
activity = null;
}
public void setActivity(final Activity activity) {
this.activity = activity;
}
はHelperFragment、アタッチされたときとデタッチされたときにセッターを呼び出し、MyFragment通常の方法でアタッチされた場合は通常どおりに動作します。
私の場合、これHelperFragmentもリダイレクトする必要があるということです。に上書きして解決しました:ListFragmentgetListView()getListView()MyFragment
private ListView listView;
@Override
public ListView getListView() {
if (listView != null) {
return listView;
} else {
return super.getListView();
}
}
public void setListView(final ListView listView) {
this.listView = listView;
}
のメソッドで呼び出さsetListView()れます。使用法によっては、特別な処理が必要な他の方法がありますが、概念は明確にする必要があります。HelperFragmentonActivityCreated()