gpt4 book ai didi

android - 后退按钮后隐藏 fragment

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:20 25 4
gpt4 key购买 nike

我使用以下代码在 Activity 中添加了一个 fragment :

    FragmentManager fragmentManager=getFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
PreferenceFragment preferencefragment=new Preferencefragment();
fragmentTransaction.add(R.id.maincontainer, preferencefragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<DigitalClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/digitalClock"
android:layout_gravity="center"
android:textColor="@color/appcolor"
android:layout_centerHorizontal="true"
style="@android:style/TextAppearance.DeviceDefault.Large"
android:textSize="45dp"/>
<TimePicker
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/timePickersms" />

<FrameLayout
android:id="@+id/maincontainer"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

Activity 有数字时钟和时间选择器, fragment 显示在下方,现在当我先点击后退按钮时, fragment 消失,然后显示上一个 Activity 。如何一次性显示之前的 Activity ?

我的下一个问题是当按下屏幕上的按钮时如何刷新 fragment ?

最佳答案

addToBackStack(null) 将 fragment 添加到返回堆栈,按下返回时自动弹出。

因此您可以通过两种方法(适合您的方法)解决此问题:

删除 addToBackStack(null)

将以下代码添加到您的 Activity 中:

@Override
public void onBackPressed(){
finish();
}

编辑:

就 fragment 的刷新而言,您又有两个选择:第一个是简单地用旧 fragment 替换旧 fragment 。第二个是您可以维护 fragment 的对象并具有用于更新 fragment 内数据的 setter/getter 函数。

关于android - 后退按钮后隐藏 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19616465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com