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

Hi boy. I have TabActivity as the 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 format like

  <?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 is the code getting wrong? I got an exception like

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

+4
source share
1 answer

you extend the Activity class, try to extend the TabActivity class

or

if you want to use the Activity class, 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); 
+21
source

Source: https://habr.com/ru/post/1397983/


All Articles