gpt4 book ai didi

安卓:白日梦中的 fragment

转载 作者:行者123 更新时间:2023-11-29 01:54:44 30 4
gpt4 key购买 nike

我正在尝试创建一个 Daydream 应用程序,但似乎找不到任何关于在我的 DreamService 类中使用 fragment 的文档。

我的 Intent 是在 XML 文件中使用一个框架:

    <FrameLayout 
android:id="@+id/content_frag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
/>

然后使用 FragmentManager 将我的 fragment 添加到框架中:

    public void onAttachedToWindow( )
{
setContentView(R.layout.daydream);

getFragmentManager().beginTransaction().replace(R.id.content_frag, new ContentFragment(), "ContentFragment")
.commit();

super.onAttachedToWindow();
}

DreamService 中似乎没有“getFragmentManager()”或等效函数,因此这可能吗?我该怎么做?

谢谢

最佳答案

可以将 fragment 与 DreamService 结合使用。虽然只是因为你可以,但这并不意味着你应该因为有一些警告你的 fragment 必须知道它被正常使用(在 Activity 中)和 DreamService.

以下代码段有效(已在设备上测试):

MyFragment fragment = new MyFragment();
View view = fragment.onCreateView(LayoutInflater.fromContext(this), null, null);
setContentView(view);

但您必须注意,如果您的 fragment 依赖于附加到 Activity(调用 getResources(),或需要 getActivity()例如返回非 null),它必须适本地检查 isAdded() 以避免 IllegalStateException 和 null 引用。另请注意,您有责任调用适当的生命周期方法(即 onDestroyView() 等)。

关于安卓:白日梦中的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856942/

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