gpt4 book ai didi

android - 升级到 API 28/Android X 后,Fragment 和 BindingFragmentActivity 不可分配给 'android.app.Activity'

转载 作者:行者123 更新时间:2023-11-29 23:00:18 24 4
gpt4 key购买 nike

我正在升级我的旧项目以使用最新的 android api、gradle build 等...我的 Android Manifest 遇到了这个问题。

我有一些 Activity 设置如下:

<activity
android:name="com.company.name.ui.ColorPickerActivity"
android:label="@string/title_activity_add_photo_library"
android:parentActivityName="com.compant.name.ui.CaptureMenuFragment"
android:screenOrientation="portrait"
android:theme="@style/FullscreenTheme">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.company.name.ui.CaptureMenuFragment" />
</activity>

我收到一条错误消息:

Fragment  is not assignable to 'android.app.Activity'

引用上面的android:parentActivityName。它应该是什么?它在以前的目标 api 设置中工作。

我查看了一些 SO 帖子,他们提到将 Fragment 更改为 FragmentActivity 但这会导致其他构建问题,例如我无法在我的 Intent 实例中使用“getActivity()”方法。

例如:Intent intent = new Intent(getActivity(), SearchProductActivity.class);

有更好的解决方案吗?

谢谢!

编辑:

即使关于 BindingFragmentActivity,在我的 list 中它也说:

com.company.name.ui.ColorActivity' is not assignable to 'android.app.Activity'

在我升级到 API 28 和 Android X 之后。我的 list 中的这段代码有什么问题:

<activity
android:name="com.company.name.ui.ColorActivity"
android:label="@string/title_activity_color"
android:parentActivityName="com.company.name.ui.ColorsActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.company.name.ui.ColorsActivity" />
</activity>

最佳答案

无需在 Android Manifest 文件中声明您的 fragment 。 fragment 是一个可重用的 UI 组件,可以附加到任何 Activity。

fragment 从其父 Activity 中获取与Screen OrientationTheme 等相关的属性。

关于您将 fragment 更改为 FragmentActivity 的问题,您仍然可以使用 FragmentActivity 中的方法进行访问。

例如:获取上下文 getActivity() 可以替换为 FragmentActivityName.this

您可以阅读更多相关信息 here .

希望这对您有所帮助。谢谢。

关于android - 升级到 API 28/Android X 后,Fragment 和 BindingFragmentActivity 不可分配给 'android.app.Activity',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57027959/

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