代码块:
public class MainActivity extends TabActivity {
private TabHost tabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取一个TabHost
final TabHost tabHost = getTabHost();
tabHost.addTab(
tabHost.newTabSpec("tab1")//实例化一盒tab项
.setIndicator("新闻")//起标题名字
.setContent(R.id.ll1)//把这块布局加载到tabhost第一项里
);
tabHost.addTab(
tabHost.newTabSpec("tab2")//实例化一盒tab项
.setIndicator("娱乐")//起标题名字
.setContent(R.id.ll2)//把这块布局加载到tabhost第一项里
);
tabHost.addTab(
tabHost.newTabSpec("tab3")//实例化一盒tab项
.setIndicator("游戏")//起标题名字
.setContent(R.id.ll3)//把这块布局加载到tabhost第一项里
);
tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
if(tabId.equals("tab1")){
TextView tv1=(TextView)findViewById(R.id.tv1);
tv1.setText("这是更改后的值");
}else if (tabId.equals("tab2")){
}else if (tabId.equals("tab3")){
}
}
});
}
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.frxm.day16_tabhost.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"></TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--第一个页面布局-->
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第一个页面"
/>
</LinearLayout>
<!--第二个页面布局-->
<LinearLayout
android:id="@+id/ll2"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第二个页面"
/>
</LinearLayout>
<!--第三个页面布局-->
<LinearLayout
android:id="@+id/ll3"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第三个页面"
/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>