第二章实例:ActionBar结合Fragment显示

package tab.test;

import com.example.actionbar_tab.R;

import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.net.wifi.p2p.WifiP2pManager.ActionListener;
import android.os.Bundle;

@SuppressWarnings("deprecation")
public class ActionBarTab extends Activity implements ActionBar.TabListener {

    
    private ActionBar ab = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.setContentView(R.layout.main_layout);
        ab = this.getActionBar();
        ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        //---------------------------------------------------
        ab.addTab(ab.newTab().setText("第一页").setTabListener(this));
        ab.addTab(ab.newTab().setText("第二页").setTabListener(this));
        ab.addTab(ab.newTab().setText("第三页").setTabListener(this));
        
        super.onCreate(savedInstanceState);
    }
    //-------------------------------------------------------------
    //Avtivity实例状态恢复方法
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        if(savedInstanceState.containsKey("items")){
            ab.setSelectedNavigationItem(savedInstanceState.getInt("items"));
        }
        super.onRestoreInstanceState(savedInstanceState);
    }
    //Avtivity实例状态保存方法
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putInt("items", ab.getSelectedNavigationIndex());
        super.onSaveInstanceState(outState);
    }
    //--------------------------------------------------------------
    @Override
    public void onTabReselected(Tab tab, FragmentTransaction fter) {

        
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction fts) {
        //--------------------
        Bundle tab_info = new Bundle();
        tab_info.putInt("items", tab.getPosition()+1);
        Fragment fragment = new Tab_Fragment();
        fragment.setArguments(tab_info);
        //--------------------
        FragmentTransaction ft = this.getFragmentManager().beginTransaction();
        ft.replace(R.id.my_content, fragment);
        ft.commit();
    }

    @Override
    public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
        // TODO Auto-generated method stub
        
    }

}

xml:

//fragment_view 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView 
        android:id="@+id/my_text"
        android:background="#009eff"
        android:gravity="center_vertical|center_horizontal"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Fragment"
        android:textSize="100sp"
        android:textColor="#FFFFFF"/>

</LinearLayout>
//main_layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_content"
    android:background="#666"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    

</LinearLayout>

 

posted @ 2016-02-02 22:27  黔驴技多不压身  阅读(319)  评论(0编辑  收藏  举报