Reputation: 13930
I have a fragment that I'm trying to start another activity from in a button click like this:
Intent i = new Intent(getActivity(), RoundPagerActivity.class);
// put extras
startActivity(i);
The app crashes on the call to startActivity(i)
with a Fatal Exception
. Here's the logcat:
08-24 22:08:12.625: D/AndroidRuntime(9865): Shutting down VM
08-24 22:08:12.625: W/dalvikvm(9865): threadid=1: thread exiting with uncaught exception(group=0x40c231f8)
08-24 22:08:12.720: E/AndroidRuntime(9865): FATAL EXCEPTION: main
08-24 22:08:12.720: E/AndroidRuntime(9865): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.wilk.android.tablink/com.wilk.android.tablink.RoundPagerActivity}; have you declared this activity in your AndroidManifest.xml?
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1511)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1387)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.app.Activity.startActivityForResult(Activity.java:3190)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:826)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.support.v4.app.Fragment.startActivity(Fragment.java:838)
08-24 22:08:12.720: E/AndroidRuntime(9865): at com.wilk.android.tablink.RoundListFragment.onListItemClick(RoundListFragment.java:94)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.support.v4.app.ListFragment$2.onItemClick(ListFragment.java:58)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.widget.AdapterView.performItemClick(AdapterView.java:292)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.widget.AbsListView.performItemClick(AbsListView.java:1175)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2703)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.widget.AbsListView$1.run(AbsListView.java:3456)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.os.Handler.handleCallback(Handler.java:605)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.os.Handler.dispatchMessage(Handler.java:92)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.os.Looper.loop(Looper.java:137)
08-24 22:08:12.720: E/AndroidRuntime(9865): at android.app.ActivityThread.main(ActivityThread.java:4507)
08-24 22:08:12.720: E/AndroidRuntime(9865): at java.lang.reflect.Method.invokeNative(Native Method)
08-24 22:08:12.720: E/AndroidRuntime(9865): at java.lang.reflect.Method.invoke(Method.java:511)
08-24 22:08:12.720: E/AndroidRuntime(9865): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
08-24 22:08:12.720: E/AndroidRuntime(9865): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
08-24 22:08:12.720: E/AndroidRuntime(9865): at dalvik.system.NativeStart.main(Native Method)
Here's my manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wilk.android.tablink"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo" >
<!-- other activities -->
<!-- activity that calls the pager activity -->
<activity
android:name="com.wilk.android.tablink.RoundListActivity"
android:label="@string/app_name" >
</activity>
<!-- activity that is called -->
<activity
android:name="com.wilk.android.tablink.RoundPagerAcivity"
android:label="@string/app_name" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.wilk.android.tablink.RoundListActivity" />
</activity>
</application>
</manifest>
The odd thing is I have another app that does this the same exact way w/o issue. I've looked at other questions here and am pretty sure I've exhausted those choices, at least the ones that appeared to apply. I've tried to set breaks points in the new activity as well but none are hit. Can anyone see something I've newbly overlooked?
Upvotes: 1
Views: 6591
Reputation: 31761
It's misspelled in your manifest. You have: android:name="com.wilk.android.tablink.RoundPagerAcivity"
It should be android:name="com.wilk.android.tablink.RoundPagerActivity"
.
Also, I don't know if it matters, but in my application I also have an attribute on the "detail" activity like this:
<activity
android:name="com.wilk.android.tablink.RoundPagerActivity"
android:label="@string/app_name"
android:parentActivityName="com.wilk.android.tablink.RoundListActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.wilk.android.tablink.RoundListActivity" />
</activity>
Upvotes: 8