方法一
package com.example.sun4;
import android.os.Bundle;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.view.Menu;
public class MainActivity extends Activity {
ActionBar actbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actbar=getActionBar();
//设置tab模式为页眉
actbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//新建2个Tab
ActionBar.Tab tabA = actbar.newTab().setText("第一页");
ActionBar.Tab tabB =actbar.newTab().setText("第二页");
//讲TAB绑定到Fragment
aFrom afrom=new aFrom();
bFrom bFrom=new bFrom();
tabA.setTabListener(new MyTabsListener(afrom));
tabB.setTabListener(new MyTabsListener(bFrom));
actbar.addTab(tabA);
actbar.addTab(tabB);
}
protected class MyTabsListener implements ActionBar.TabListener{
Fragment fragment;
public MyTabsListener(Fragment fragment)
{
this.fragment = fragment;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.add(R.id.fragment_place, fragment, null);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
//一定记得remove的使用
ft.remove(fragment);
}
}
}
不同页的显示
package com.example.sun4;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class aFrom extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.aform_layout, container, false);
}
}
大背景activity-main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:id="@+id/fragment_place"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
方法二
使用事物进行,其它同上
package com.example.sun4;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
public class XinActivity extends Activity implements ActionBar.TabListener{
ActionBar actionbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xin);
actionbar=getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.addTab(actionbar.newTab().setText("1").setTabListener(this));
actionbar.addTab(actionbar.newTab().setText("2").setTabListener(this));
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
//获得碎片管理器
FragmentManager manager=getFragmentManager();
//开始一个fragment事务
FragmentTransaction trans=manager.beginTransaction();
//替换fragment
Fragment fragment=null;
if("1".equals(tab.getText())){
fragment=new aFrom();
}else if("2".equals(tab.getText())){
fragment=new bFrom();
}
trans.replace(R.id.fragment_place,fragment).commit();
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}