-1

I have made 5 class file. 3 fragment activity 1 main activity and 1 adapter class.

logcat

 05-06 12:17:17.213    1398-1398/com.example.neeraj.tabac E/AndroidRuntime﹕ 
    FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity       ComponentInfo{com.example.neeraj.tabac/com.example.neeraj.tabac.ActivityMain}:                      java.lang.NullPointerException
             android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
           android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
            android.app.ActivityThread.access$600(ActivityThread.java:141)
             android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
             android.os.Handler.dispatchMessage(Handler.java:99)
             android.os.Looper.loop(Looper.java:137)
             android.app.ActivityThread.main(ActivityThread.java:5103)
             java.lang.reflect.Method.invokeNative(Native Method)
             java.lang.reflect.Method.invoke(Method.java:525)
             com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
             com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
             dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
             com.example.neeraj.tabac.ActivityMain.onCreate(ActivityMain.java:60)
             android.app.Activity.performCreate(Activity.java:5133)
             android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
             android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
             android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
             android.app.ActivityThread.access$600(ActivityThread.java:141)
             android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
             android.os.Handler.dispatchMessage(Handler.java:99)
             android.os.Looper.loop(Looper.java:137)
             android.app.ActivityThread.main(ActivityThread.java:5103)
             java.lang.reflect.Method.invokeNative(Native Method)
             java.lang.reflect.Method.invoke(Method.java:525)
             com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
             com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
             dalvik.system.NativeStart.main(Native Method)

This is the main activity file:

 public class ActivityMain extends FragmentActivity {
        ViewPager Tab;
        TabFragment TabAdapter;
        ActionBar actionBar;


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.a_main);

        TabAdapter = new TabFragment(getSupportFragmentManager());

        Tab = (ViewPager)findViewById(R.id.pager);
        Tab.setOnPageChangeListener(
                new ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {

                        actionBar = getActionBar();
                        actionBar.setSelectedNavigationItem(position);                    }
                });
        Tab.setAdapter(TabAdapter);

        actionBar = getActionBar();
        //Enable Tabs on Action Bar
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        ActionBar.TabListener tabListener = new ActionBar.TabListener(){

            @Override
            public void onTabReselected(ActionBar.Tab tab,
                                        FragmentTransaction ft) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {

                Tab.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(ActionBar.Tab tab,
                                        FragmentTransaction ft) {
                // TODO Auto-generated method stub

            }};
        //Add New Tab
        actionBar.addTab(actionBar.newTab().setText("Android").setTabListener(tabListener));
        actionBar.addTab(actionBar.newTab().setText("iOS").setTabListener(tabListener));
            actionBar.addTab(actionBar.newTab().setText("Windows").setTabListener(tabListener));

    }
    }

Please help me as its for my project and I'm new to Android Studio. Even the strikes comes in main activity which I don't know why.

kr16
  • 47
  • 10

2 Answers2

0

It seems like your ActionBar is null, try using. This happens when you use AppCompat

actionBar = getSupportActionBar();

You also need to use android.support.v7.app.ActionBar actionBar when defining it.

Bojan Kseneman
  • 15,488
  • 2
  • 54
  • 59
0

Or you can try to add this line before setContentView

getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
Nik Myers
  • 1,843
  • 19
  • 28