私は助けが必要です。フラグメントのIDが見つかりません
Fatal Exception: java.lang.IllegalArgumentException: No view found for id 0x7f0f016c (com.my.my:id/fragment_root_layout) for fragment a{2e8d61e1 #4 id=0x7f0f016c fragment_tag}
私はフラグメントにフラグメントを使用します。私はCrashlyticsでクラッシュを得ました。親フラグメントのOnCreateメソッドでは、子フラグメントにヘルプFragmentManagerを追加します。私は問題がOnCreateメソッドで追加する子フラグメントであり、OnCreateViewでこれを行う必要があるという考えを持っています。確信はないけど。私はこのクラッシュを再現することはできませんが、Crashlyticでこのクラッシュを取得します。 親フラグメントlayountのすべてのビューにはidがあります。 OnCreateViewメソッドで不正なレイアウトを展開した場合にのみ、このクラッシュを再現できますが、これはライブビルドでは発生しません。 私に助言を与えてください。
EDIT:追加子フラグメントのコード
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LogUtils.verbose(TAG, "displayOverlayFragment: attempt to add a fragment using FragmentTransaction");
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
OverlayFragment overlayFragment = new OverlayFragment();
fragmentTransaction.add(R.id.fragment_root_layout, overlayFragment, FRAGMENT_TAG);
fragmentTransaction.commit();
}
onCreateViewのコード:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(getLayoutResId(), container, false);
mRecyclerView = initRecyclerView(view);
mProgressBar = view.findViewById(R.id.progressBar);
mProgressBarLabel = (TextView) view.findViewById(R.id.progressBarLabel);
}
return view;
}
@Override
protected int getLayoutResId() {
return R.layout.fragment_favorites;
}
idが 'fragment_root_layout'であるビューが存在しますか? –
親フラグメントの 'onViewCreated'メソッドで子フラグメントを追加してみてください。それまでは、親のレイアウトのIDは使用しないでください。 – hibob
これまでに試した内容を投稿してください。 – FAT