2

FragmentOne

public class FragmentOne extends Fragment {




    public FragmentOne() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.activity_main2, container,
                true);


        return view;
    }
}

Hello, i'm a begginer , i tried all i could find ,the problem is i need this fragment to initialize the class BaseAct.java , after the fragment refers to a activity_main2, i cound find anything so i hope you can help me , thank you in advice

i can link you all the source files if you need them

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    Intent intent = new Intent(getActivity(), BaseAct.class);
    startActivity(intent);

    View view = inflater.inflate(R.layout.activity_main2, container,
            false);


    return view;
}

LogCat

Process: com.elitiv.myapplication2.app, PID: 2941
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.elitiv.myapplication2.app/com.elitiv.myapplication2.app.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.elitiv.myapplication2.app/com.elitiv.myapplication2.app.BaseAct}; have you declared this activity in your AndroidManifest.xml?
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.elitiv.myapplication2.app/com.elitiv.myapplication2.app.BaseAct}; have you declared this activity in your AndroidManifest.xml?
            at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
            at android.app.Instrumentation.execStartActivity(Instrumentation.java:1541)
            at android.app.Activity.startActivityFromFragment(Activity.java:3957)
            at android.app.Activity.startActivityFromFragment(Activity.java:3932)
            at android.app.Fragment.startActivity(Fragment.java:1054)
            at android.app.Fragment.startActivity(Fragment.java:1033)
            at com.elitiv.myapplication2.app.FragmentOne.onCreateView(FragmentOne.java:23)
            at android.app.Fragment.performCreateView(Fragment.java:1700)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
            at android.app.BackStackRecord.run(BackStackRecord.java:684)
            at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
            at android.app.Activity.performStart(Activity.java:5240)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
Alex
  • 49
  • 9

1 Answers1

1

You can start a new Activity from the Fragment's onCreateView() by launching an explicit Intentto the Activity you want to start.

Also, like rcoro says, please pass false to the 3rd parameter of inflate(). Passing false will prevent the framework from adding the Fragment to the hierarchy twice, which will result in an error.

Emmanuel
  • 13,083
  • 4
  • 39
  • 53