gpt4 book ai didi

android - FragmentTransaction 替换整个屏幕

转载 作者:太空狗 更新时间:2023-10-29 15:12:32 27 4
gpt4 key购买 nike

我在 FragmentStatePagedAdapter 中使用 Tabs。下面的代码来自 onOptionsItemSelected(MenuItem item) 方法:

case R.id.menu_help:
System.out.println("Pressin' da help button!");
FragmentManager mananger = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction trans = mananger.beginTransaction();
trans.replace(android.R.id.content, new HelpFragment());
trans.addToBackStack(null);
trans.commit();
break;

android.R.id.content 只会替换操作栏下方的 View (并将其覆盖在选项卡 fragment 上)。有没有一种简单的方法可以用 fragment 替换整个屏幕(不应该有一些其他系统资源吗?)而不必为此创建新的 Activity ?或者一项新 Activity 实际上会更好吗?

在此先感谢您的帮助

容器布局(从 MainActivity 启动时开始):

<android.support.v4.view.ViewPager
android:id="@+id/masterViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

我想这是 HelpFragment 的类:

public class HelpFragment extends Fragment {

private View view;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle states) {
view = inflater.inflate(R.layout.layout_help_screen, container, false);

return view;
}

}

和 fragment XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/nothing" />

</LinearLayout>

最佳答案

更新:如果您将 appcompat-v7 更新到修订版 19.0.0. 或更新版本,则不再需要下面的开关。请issue 59077获取更多信息。


我怀疑您使用的设备/模拟器运行的 Android 版本早于 4.x(Ice Cream Sandwich,API 级别 14)。我在使用 fragment 事务时遇到了类似的覆盖问题。出现布局问题是因为与 Android 4.x 相比,内容 View 在 Android 2.x 和 3.x 上的引用方式不同。请尝试更改您的代码:

trans.replace(android.R.id.content, new HelpFragment());

到:

trans.replace(getContentViewCompat(), new HelpFragment());

...

public static int getContentViewCompat() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ?
android.R.id.content : R.id.action_bar_activity_content;
}

可以在 post of Shellum 中找到更多背景信息。 .

关于android - FragmentTransaction 替换整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550271/

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