0

I got a >very< simple program, that crashes, when I try to change the activity. On my fragment_app_launch.xml there only is a Button (id: question_cat_button_1):

AppLaunch.java

public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_app_launch,
                container, false);

        Button b = (Button)rootView.findViewById(R.id.question_cat_button_1);

        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent intent = new Intent("com.pthuermer.juraQuiz.QuizActivity");
                startActivity(intent);

            }

        });

        return rootView;
    }

AndroidManifest:

<activity
        android:name="com.pthuermer.juraquiz.QuizActivity"
        android:label="@string/title_activity_quiz" >
</activity>

logcat-error:

03-13 21:09:54.602: E/AndroidRuntime(13753): FATAL EXCEPTION: main
03-13 21:09:54.602: E/AndroidRuntime(13753): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.pthuermer.juraQuiz.QuizActivity }
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1671)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1441)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.app.Activity.startActivityForResult(Activity.java:3464)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.app.Activity.startActivityForResult(Activity.java:3425)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:848)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.support.v4.app.Fragment.startActivity(Fragment.java:878)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at com.pthuermer.juraquiz.AppLaunch$PlaceholderFragment$1.onClick(AppLaunch.java:75)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.view.View.performClick(View.java:4475)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.view.View$PerformClick.run(View.java:18786)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.os.Handler.handleCallback(Handler.java:730)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.os.Handler.dispatchMessage(Handler.java:92)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.os.Looper.loop(Looper.java:137)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at android.app.ActivityThread.main(ActivityThread.java:5419)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at java.lang.reflect.Method.invokeNative(Native Method)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at java.lang.reflect.Method.invoke(Method.java:525)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
03-13 21:09:54.602: E/AndroidRuntime(13753):    at dalvik.system.NativeStart.main(Native Method)
codeMagic
  • 44,549
  • 13
  • 77
  • 93
Philip
  • 1,068
  • 3
  • 12
  • 21

4 Answers4

1

Change

Intent intent = new Intent("com.pthuermer.juraQuiz.QuizActivity");

to

Intent intent = new Intent("com.pthuermer.juraquiz.QuizActivity");

small "q"

Differences in implicit and explicit Intents

You can find out a lot about implicit Intents easily by searching Google but typically for starting an Activity inside your own app it is easier with an explicit Intent as you used to get it to work.

Community
  • 1
  • 1
codeMagic
  • 44,549
  • 13
  • 77
  • 93
0

Java is case-sensitive, so com.pthuermer.juraquiz.QuizActivity and com.pthuermer.juraQuiz.QuizActivity are not the same, that is why you get ActivityNotFoundException. It should be:

 Intent intent = new Intent("com.pthuermer.juraQuiz.QuizActivity");
 startActivity(intent);
nikis
  • 11,166
  • 2
  • 35
  • 45
0

You are setting the ACTION of the Intent to "com.pthuermer.juraQuiz.QuizActivity". I guess you want to use http://developer.android.com/reference/android/content/Intent.html#setClassName(java.lang.String, java.lang.String).

Diego Torres Milano
  • 65,697
  • 9
  • 111
  • 134
0

Hey change your intent to this

Intent intent = new Intent(getApplicationContext(),com.pthuermer.juraquiz.QuizActivity.class);
Imran Iqbal
  • 163
  • 1
  • 11