从另一个片段内部打开片段
我在片段内工作,该片段有一个ListView。当用户点击一个列表行时,我想打开另一个应该显示另一个ListView的片段。从另一个片段内部打开片段
这是我目前拥有的方法:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String topic = String.valueOf(parent.getItemAtPosition(position));
Log.d("Comunidad",topic);
//PASA VALOR SELECCIONADO AL SIGUIENTE FRAGMENT
}
});
什么是从这个方法里面打开新片段的最佳方式?
谢谢。
添加FrameLayout
到您的首选活动的布局调用FragmentA(片段被打开onClick):
<FrameLayout
android:layout_width="match_parent"
android:id="@+id/outer_frame"
android:layout_height="wrap_content">
</FrameLayout>
,然后做这个替换为您FragmentA outer_frame(FrameLayout里):
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String topic = String.valueOf(parent.getItemAtPosition(position));
Log.d("Comunidad",topic);
getSupportFragmentManager().beginTransaction()
.replace(R.id.outer_frame, new FragmentA())
.commit();
}
});
我可能是错的,但我认为你想要做的事是不可能的,因为片段不打算在已经打开的活动中打开...... 你可以做的是用片段准备活动,然后改变的时候,你要... 可能是错误的寿它的内容...
您可以在一个活动开型动物片段...您可以通过XML或FrameLayout里内添加片段。由于您使用了framelayout,因此您可以在同一个framelayout中替换或添加另一个片段。 – Fllo
里面的onClick的ListView
Fragment2 new_frag = new Fragment2();
return new_frag;
谢谢,但有一个工作的答案 – user3713806
@ user3713806没有问题。将该答案标记为正确,以便可以帮助其他人 –
// Inside your onClick method
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, new MyFragment());
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
谢谢,但有一个工作答案 – user3713806
谢谢,完美作品 – user3713806