【发布时间】:2016-06-26 11:36:47
【问题描述】:
1.在我的平板电脑中我有一个活动,在那个活动中 我有 4 个片段
片段1,片段2,片段3,片段4。
我的需要:
编辑 1:
2.Fragment1 ,Fragement4 总是会显示(Frag1||Frag4)-初始阶段, 如果我从 Fragment1-->> 中单击一个按钮将打开 Fragment2(所以它会显示如下 (Frag1||Frag2||Frag4) 在活动屏幕中)。
3.如果我从Fragment2-->>点击一个按钮会打开Fragment3,然后Fragemnt4会被隐藏(所以它将在活动屏幕中显示像这样 (Frag1||Frag2||Frag3)。
4.如果我们点击Fragment3--->的关闭图标,它会显示(Fragment1||Fragment2||Fragment4)应该显示。隐藏frag4 被 frag3 替换。
5.最后,如果我点击Fragment2--->中的关闭图标,Frag2将被删除,它会显示Activity就像开始( Frag1||Frag4)
请帮助我,如何实现这一点。
activity_main.xml
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:orientation="horizontal"
>
<fragment
android:id="@+id/list_Fragment1xml_mainAct_ID"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".08"
class="com.knowledgeflex.lpm_qrt.Menu_Fragment1" >
</fragment>
<fragment
android:id="@+id/detail_Fragmentxml_mainAct_ID"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".28"
class="com.knowledgeflex.lpm_qrt.Option_Fragment3">
</fragment>
<fragment
android:id="@+id/map_Fragmentxml_mainAct_ID"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".92"
class="com.knowledgeflex.lpm_qrt.Map_Fragment4">
</fragment>
</LinearLayout>
Fragment1.class
public class Fragment1 extends Fragment implements OnClickListener
{
//Button android_btn, ios_btn, windows_btn;
ImageView ALertIamge;
private OnItemSelectedListener listener;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.menu_fragment1, container, false);
// Initialize View
ALertIamge=(ImageView)view.findViewById(R.id.AlertImagexml);
// ALertIamge.setOnClickListener(this);
ALertIamge.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
// Here I want Hide Show to Second Fragment
}
});
return view;
}
}
fragment2.class
public class Fragment2 extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.link_fragment2, container, false);
return view;
}
}
fragment3.class
public class Fragment3 extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.options_fragment3, container, false);
return view;
}
}
Fragment4.class
public class Fragment4 extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.options_fragment4, container, false);
return view;
}
}
【问题讨论】:
-
显示你得到的源代码和你尝试了什么
-
@AlexandreMartin 请检查我的问题。
-
我做到了,但我认为 Lino 已经正确回答了您的问题,因此您应该对他的工作给予肯定,并深入了解他的解决方案。
-
我的问题首先是隐藏和显示,而不是与其他 Fragmanet 通信
-
然后像 Lino 所示使用添加、删除和替换事务。