Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.IllegalStateException..... at tabhost.add(tabspec);

Tags:

android

Hi guyzz I have TabActivity as following simple code

public class TabhostActivity extends Activity{
    TabHost host;

    public class TabhostActivity extends Activity{
    TabHost host;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.tablayout);

        host = (TabHost) findViewById(R.id.mytabhost);

        host.setup();
        Intent intent = new Intent(getApplicationContext(), RatingBarActivity.class); 
        TabHost.TabSpec spec = host.newTabSpec("positions").setIndicator("Positions",getResources().getDrawable(R.drawable.add)).setContent(intent);

        host.addTab(spec);
        host.setCurrentTab(0);

    }

and has a simple tab layout as

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TabHost
        android:id="@+id/mytabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:padding="5dp">

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" 
            android:padding="5dp">

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" 
                android:background="#FF0000">

            </FrameLayout>

            <HorizontalScrollView
                android:id="@+id/horizontalScrollView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <TabWidget
                    android:layout_marginLeft="5dp"
                    android:id="@android:id/tabs"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:tabStripEnabled="true" >
                </TabWidget>
            </HorizontalScrollView>
        </LinearLayout>
    </TabHost>

</LinearLayout>

So please help me where the code is getting wrong?? I got exception as

02-23 14:09:47.920: E/AndroidRuntime(1000): Caused by: java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?

like image 406
NullPointerException Avatar asked Nov 29 '22 15:11

NullPointerException


1 Answers

you are extending Activity class, try extending TabActivity class

or

if you want to use the Activity class then use the following :

host = (TabHost) findViewById(R.id.tabhost); //here tabHost will be your Tabhost
    LocalActivityManager mLocalActivityManager = new LocalActivityManager(mActivity, false);
    mLocalActivityManager.dispatchCreate(state); // state will be bundle your activity state which you get in onCreate
    tabHost.setup(mLocalActivityManager);
like image 74
Vikram Avatar answered Dec 27 '22 23:12

Vikram