我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
// LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);
tabHost.setup();
TabSpec tabSpecCheckIn = tabHost.newTabSpec(getResources().getText(R.string.button_check_in).toString());
tabSpecCheckIn.setIndicator(getResources().getText(R.string.button_check_in).toString(), getResources().getDrawable(android.R.drawable.star_off));
tabSpecCheckIn.setContent(R.id.check_in);
tabHost.addTab(tabSpecCheckIn);
TabSpec tabSpecReview = tabHost.newTabSpec(getResources().getText(R.string.button_review).toString());
tabSpecReview.setIndicator(getResources().getText(R.string.button_review).toString(), getResources().getDrawable(android.R.drawable.star_off));
tabSpecReview.setContent(R.id.review);
tabHost.addTab(tabSpecReview);
TabSpec tabSpecMyCircles = tabHost.newTabSpec(getResources().getText(R.string.button_my_circles).toString());
tabSpecMyCircles.setIndicator(getResources().getText(R.string.button_my_circles).toString(), getResources().getDrawable(android.R.drawable.star_off));
tabSpecMyCircles.setContent(R.id.my_circle);
tabHost.addTab(tabSpecMyCircles);
TabSpec tabSpecMySettings = tabHost.newTabSpec(getResources().getText(R.string.button_settings).toString());
tabSpecMySettings.setIndicator(getResources().getText(R.string.button_settings).toString(), getResources().getDrawable(android.R.drawable.star_off));
tabSpecMySettings.setContent(new Intent(this,CheckInActivity.class));
tabHost.addTab(tabSpecMySettings);
tabHost.setCurrentTab(0);
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabHost android:id="@+id/tabhost"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TabWidget android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@android:id/tabs"
android:layout_gravity="bottom" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:paddingTop="65px">
<LinearLayout android:id="@+id/check_in"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="5px">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="date"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout android:id="@+id/review"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="5px">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="lieu"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout android:id="@+id/my_circle"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="5px">
</LinearLayout>
<LinearLayout android:id="@+id/setting"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="5px">
</LinearLayout>
</FrameLayout>
</TabHost>
</LinearLayout>
当我点击设置按钮时,exctption:
Did you forget to call 'public void setup (LocalActivityManager activityGroup)'
谁能帮助我。我尝试从 TabActiviy
或 ActivityGroup
扩展还有其他异常(exception)!!!
我想把 Tabhost 的按钮放在底部,当我点击按钮时会调用不同的 Activity !
最佳答案
你需要将MainActivity的基类从Activity改为ActivityGroup,如下:
public class MainActivity extends ActivityGroup {
...
}
ActivityGroup 将处理 LocalActivityManager 的一个实例。所以你不需要创建它。基类更改后,只需调用基类中定义的 getLocalActivityManager() 函数即可获取该实例。像这样调用tabHost的设置函数:
tabHost.setup(this.getLocalActivityManager());
关于安卓异常 : Did you forget to call 'public void setup (LocalActivityManager activityGroup)' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3272500/