別のフラグメントからフラグメントを開くにはどうすればいいですか? 別のShowNotesフラグメントからEditNoteフラグメントを開こうとすると、このエラーが発生します。別のフラグメントからフラグメントを開くことができません - ID 0x7f0e0084のビューが見つかりません
No view found for id 0x7f0e0084 (com.example.lalala.notepad:id/container_frame_layout) for fragment EditNote{3005d06 #1 id=0x7f0e0084}
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1293)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2363)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2149)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2013)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:710)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
ShowNotes.javaは、私は別のフラグメントを開きたい、そこからの断片は
public class ShowNotes extends Fragment {
private ListView lv;
ArrayList<Note> arrayList;
private View view;
ArrayAdapter<String> adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_show_notes, container, false);
arrayList = new ArrayList<>();
Note n = new Note("Example", "It's just an example");
arrayList.add(n);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
NoteAdapter adapter = new NoteAdapter(view.getContext(), arrayList);
lv = (ListView) getView().findViewById(R.id.notes_listview);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
EditNote fragment2=new EditNote();
FragmentManager fragmentManager=getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container_frame_layout,fragment2);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
}}
EditNote.javaはそれだけでビューを膨張、今やほとんど空の断片です。
public class EditNote extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_edit_note, container, false);
return view;
}}
activity_edit_note.xmlは、私はあなたがgetSupportFragmentManagerないgetFragmentManager()
これらの行
EditNote fragment2=new EditNote();
FragmentManager fragmentManager=getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container_frame_layout,fragment2);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
を変更してみてくださいを使用しているビュー
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/container_frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</FrameLayout>
「別のフラグメントからフラグメントを開くことができません」。私はあなたが再びエラーメッセージを読むべきだと思います。 – Joshua