これが私の解決策です:
Fragment
SherlockFragment をラップするネイティブを作成しました。
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
もリダイレクトする必要があるということです。に上書きして解決しました:ListFragment
getListView()
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()
れます。使用法によっては、特別な処理が必要な他の方法がありますが、概念は明確にする必要があります。HelperFragment
onActivityCreated()