【问题标题】:android.content.ActivityNotFoundException: Unable to find explicit activity class {com.myapp/androidx.fragment.app.FragmentActivity}android.content.ActivityNotFoundException:找不到显式活动类 {com.myapp/androidx.fragment.app.FragmentActivity}
【发布时间】:2020-12-16 18:50:55
【问题描述】:

我在我的应用程序中使用底部导航菜单,它有 4 个子菜单:地址、仪表板、主页、通知。

当我想将 startActivityHomeFragment 转到 Dashboard Fragment 时,会出现如下所示的错误。

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.karatasyazilim.su, PID: 21216
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.karatasyazilim.su/androidx.fragment.app.FragmentActivity}; have you declared this activity in your AndroidManifest.xml?
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2069)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1717)
    at android.app.Activity.startActivityForResult(Activity.java:5252)
    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:675)
    at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:234)
    at androidx.fragment.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:790)
    at androidx.fragment.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:932)
    at androidx.fragment.app.Fragment.startActivity(Fragment.java:1257)
    at androidx.fragment.app.Fragment.startActivity(Fragment.java:1245)
    at com.karatasyazilim.su.ui.home.HomeFragment$5.onClick(HomeFragment.java:333)
    at android.view.View.performClick(View.java:7869)
    at android.widget.TextView.performClick(TextView.java:14958)
    at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
    at android.view.View.performClickInternal(View.java:7838)
    at android.view.View.access$3600(View.java:886)
    at android.view.View$PerformClick.run(View.java:29362)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:8016)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1087)

我的清单是:

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.Su">
    <activity android:name=".CreateAddress"></activity>
    <activity android:name=".PhoneActivation" />
    <activity
        android:name=".Genel"
        android:label="@string/title_activity_genel" />
    <activity android:name=".SignUp" />
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>
</application>

这是我的活动代码。

            Intent kalimera = new Intent(getActivity(), FragmentActivity.class);

            startActivity(kalimera);

我做错了什么?

【问题讨论】:

    标签: android android-intent android-activity


    【解决方案1】:

    您正在尝试直接启动 androidx FragmentActivity 类。这是一个父类,您应该将其子类化以创建自己的 Activity。

    请确保您使用的是要启动的 Activity 的名称:

    Intent intent = new Intent(getActivity(), NameOfTheActivityThatYouWantToLaunch.class);
    startActivity(intent);
    

    或者,如果您不尝试启动 Activity 并且只是从某个地方获取此代码,只需删除这些行。

    如果您尝试启动 Fragment,请查看 How to start Fragment from an Activity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 2015-02-28
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多