0

I have downloaded a code from internet of tab . The adding part of code for tab is as following:

private void setTabs()
    {
        mTabHost = (TabHost) findViewById(android.R.id.tabhost);
        mTabHost.setup();

        addTab("Home", TAG_1, createTabDrawable(R.drawable.home), R.id.text_view_home,HomeActivity.class);
        addTab("Search", TAG_2, createTabDrawable(R.drawable.search), R.id.text_view_search, SearchActivity.class);
        addTab("Favourites", TAG_3, createTabDrawable(R.drawable.star), R.id.text_view_favourites,HomeActivity.class);
        addTab("Settings", TAG_4, createTabDrawable(R.drawable.settings), R.id.text_view_settings, SearchActivity.class);
    }

And the function of addTab is as following :

private void addTab(String label, String tag, Drawable drawable, int id, Class<?> c) {
        TabHost.TabSpec spec = mTabHost.newTabSpec(tag);
        spec.setIndicator(createTabIndicator(label, drawable));
//      spec.setContent(id);
        Intent intent = new Intent(this, c);
        spec.setContent(intent);
        mTabHost.addTab(spec);
    }

The exception is as following :

02-27 05:57:25.476: E/Trace(2018): error opening trace file: No such file or directory (2)
02-27 05:57:25.896: D/AndroidRuntime(2018): Shutting down VM
02-27 05:57:25.896: W/dalvikvm(2018): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
02-27 05:57:25.926: E/AndroidRuntime(2018): FATAL EXCEPTION: main
02-27 05:57:25.926: E/AndroidRuntime(2018): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itab/com.itab.MainActivity}: java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.os.Looper.loop(Looper.java:137)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.ActivityThread.main(ActivityThread.java:5041)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at java.lang.reflect.Method.invokeNative(Native Method)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at java.lang.reflect.Method.invoke(Method.java:511)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at dalvik.system.NativeStart.main(Native Method)
02-27 05:57:25.926: E/AndroidRuntime(2018): Caused by: java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:747)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.widget.TabHost.setCurrentTab(TabHost.java:413)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.widget.TabHost.addTab(TabHost.java:240)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at com.itab.MainActivity.addTab(MainActivity.java:104)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at com.itab.MainActivity.setTabs(MainActivity.java:58)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at com.itab.MainActivity.onCreate(MainActivity.java:50)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.Activity.performCreate(Activity.java:5104)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
02-27 05:57:25.926: E/AndroidRuntime(2018):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
02-27 05:57:25.926: E/AndroidRuntime(2018):     ... 11 more
02-27 05:57:28.226: I/Process(2018): Sending signal. PID: 2018 SIG: 9

The problem is removed if the addTab function is as following :

private void addTab(String label, String tag, Drawable drawable, int id, Class<?> c) {
        TabHost.TabSpec spec = mTabHost.newTabSpec(tag);
        spec.setIndicator(createTabIndicator(label, drawable));
        spec.setContent(id);
//      Intent intent = new Intent(this, c);
    //  spec.setContent(intent);
        mTabHost.addTab(spec);
    }

I have just added the line of intent . But after adding this line , I have got exception . How can I do that ? Plz help me .

osimer pothe
  • 2,827
  • 14
  • 54
  • 92

0 Answers0