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 .