gpt4 book ai didi

android - FragmentTransaction 中的 fragment 重复

转载 作者:IT王子 更新时间:2023-10-28 23:50:35 30 4
gpt4 key购买 nike

好的,每当我尝试替换应用程序中的 fragment 时,它只会将 fragment 添加到另一个 fragment 所在的容器内,并留下当前 fragment 。我尝试调用替换并引用包含 fragment 的 View ,并通过引用 fragment 本身。这些都不起作用。我可以使用 fragment 事务管理器将 fragment 添加到 View 中,但即使我在添加后尝试将其删除,它也不起作用。任何帮助,将不胜感激。这是我的文件。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//Setup the actionabar. Use setDrawableBackground to set a background image for the actionbar.
final ActionBar actionbar = getActionBar();
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayUseLogoEnabled(true);
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.addTab(actionbar.newTab().setText(R.string.home_tab_text).setTabListener(this),true);
actionbar.addTab(actionbar.newTab().setText(R.string.insert_tab_text).setTabListener(this));

Fragment fragment = new insert_button_frag();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.button_fragment, fragment);
transaction.addToBackStack(null);

transaction.commit();
}

这是布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout
android:orientation="vertical"
android:id="@+id/button_fragment_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<fragment
android:name="com.bv.silveredittab.home_button_frag"
android:id="@+id/button_fragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<fragment
android:name="com.bv.silveredittab.quick_insert_frag"
android:id="@+id/quick_insert_frag"
android:layout_width="350dip"
android:layout_height="fill_parent" />

<fragment
android:name="com.bv.silveredittab.editor_frag"
android:id="@+id/editor_frag"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

</LinearLayout>

</LinearLayout>

这是 fragment 代码

public class insert_button_frag extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
return inflater.inflate(R.layout.insert_buttons,container, false);
}
}

就像我说的那样。我已经尝试引用 fragment 父 View 来替换它, fragment 本身(通过 id),它仍然只添加新 fragment ,在原始 fragment 所在的包含 View 中。

最佳答案

我通过在布局中使用占位符然后在运行时将我的 fragment 附加到它来解决这个问题。

和你一样,如果我在我的 xml 布局中实例化我的 Fragment,那么在运行时将其替换为另一个 Fragment 后内容将保持可见。

关于android - FragmentTransaction 中的 fragment 重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5293850/

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