gpt4 book ai didi

java - 库项目中的类出现奇怪的 ActivityNotFoundException

转载 作者:行者123 更新时间:2023-12-01 13:56:38 25 4
gpt4 key购买 nike

对于存在并包含在我的应用程序 AndroidManifest.xml 中的 Activity ,我收到 ActivityNotFoundException

这是我的场景:

我的应用程序项目包是:com.myapplynx.mytexteditor.android

我的库项目包是com.myapplynx.mytexteditor.common

我的库项目已正确包含在我的应用程序项目中,因为我可以从我的应用程序项目中使用库项目中的其他类。

Activity MyTedAdvancedPreference 位于我的库项目中的 com.myapplynx.mytexteditor.common.prefs 包下。

在我的应用程序项目中,我有一个 xml,res/xml/prefs.xml,我在其中定义了首选项,包括一个用于调用 MyTedAdvancedPreference 的首选项屏幕,如图所示如下:

    <PreferenceScreen android:title="@string/config_cat_advanced" >
<intent android:action="android.intent.action.VIEW"
android:targetPackage="com.myapplynx.mytexteditor.android"
android:targetClass="com.myapplynx.mytexteditor.common.prefs.MyTedAdvancedPreferences"/>

请注意,MyTedAdvancedPreferences 包含在我的应用程序项目 AndroidManifest.xml 中,如下所示:

  <application
.....
<activity android:name="com.myapplynx.mytexteditor.common.prefs.MyTedAdvancedPreference"
android:label="@string/title_settings"
android:theme="@style/MyApplynxTheme" >
</activity>
....
</application>

我的应用程序编译并运行正常。因此,当我访问设置页面并尝试访问 MyTedAdvancedPreference 时,我收到 ActivityNotFoundException:

10-25 14:15:52.734: E/AndroidRuntime(19049): FATAL EXCEPTION: main
10-25 14:15:52.734: E/AndroidRuntime(19049): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.myapplynx.mytexteditor.android/com.myapplynx.mytexteditor.common.prefs.MyTedAdvancedPreferences}; have you declared this activity in your AndroidManifest.xml?

该 Activity 在我的应用程序中定义(com.myapplynx.mytexteditor.android)AndroidManifest.xml。我究竟做错了什么?谢谢。

最佳答案

它看起来与另一个问题类似ActivityNotFoundException when different package's targetClass in PreferenceScreen

以下是描述解决方法的答案,表明这是框架中的错误:

他建议从“损坏的”Activity 继承,将继承的代码放置在您的主应用程序项目中。然后按照正常情况在主 list 中引用它。

关于java - 库项目中的类出现奇怪的 ActivityNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19588482/

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