1

I am using BottomNavigation Menu in my app which has 4 submenus: Address, Dashboard, Home, Notifications.

When I want to startActivity from HomeFragment to Dashboard Fragment it gives me error that I have depicted below.

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)

My manifest is :

<?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>

And here is my activiy code.

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

            startActivity(kalimera);

What am I doing wrong?

Ryan M
  • 18,333
  • 31
  • 67
  • 74

1 Answers1

1

You're trying to start the androidx FragmentActivity class directly. This is a parent class that you should subclass to create your own Activity.

Instead, make sure that you're using the name of the Activity you want to launch instead:

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

Alternately, if you aren't trying to launch an Activity and just got this code from somewhere, simply remove those lines.

If you're trying to launch a Fragment instead, take a look at How to start Fragment from an Activity

Ryan M
  • 18,333
  • 31
  • 67
  • 74