標籤:ace 報錯 save commit ppc main hang begin body
使用ActionBar結合fragment實現導航
1,調用ActionBar的setNavigationModel(ActionBar.NAVIGATION_MODE_TABS)設定使用tabs導航
2,調用ActionBar的addTab()添加多個Tab標籤
#################承載Fragment的Activity需要實現implements FirstFragment.OnFragmentInteractionListener這個介面,要不然就報錯###############第二次碰到這個問題了
代碼:包含原來的實現ActionBar中顯示View組件(還需要在仔細看一些方法,細節)
1 package com.example.administrator.myapplication; 2 3 import android.net.Uri; 4 import android.support.v4.app.Fragment; 5 import android.support.v4.app.FragmentTransaction; 6 import android.support.v4.view.MenuItemCompat; 7 import android.support.v7.app.ActionBar; 8 import android.support.v7.app.AppCompatActivity; 9 import android.os.Bundle;10 import android.view.Menu;11 import android.view.MenuInflater;12 13 import layout.FirstFragment;14 15 public class MainActivity extends AppCompatActivity implements FirstFragment.OnFragmentInteractionListener, ActionBar.TabListener {16 17 @Override18 protected void onCreate(Bundle savedInstanceState) {19 super.onCreate(savedInstanceState);20 setContentView(R.layout.activity_main);21 22 final ActionBar actionBar = getSupportActionBar();23 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);24 //依次添加3個標籤25 actionBar.addTab(actionBar.newTab().setText("first").setTabListener(this));26 actionBar.addTab(actionBar.newTab().setText("second").setTabListener(this));27 actionBar.addTab(actionBar.newTab().setText("third").setTabListener(this));28 29 30 }31 32 @Override33 public boolean onCreateOptionsMenu(Menu menu) {34 MenuInflater inflater = new MenuInflater(this);35 inflater.inflate(R.menu.menu_main,menu);36 MenuItemCompat.setShowAsAction(menu.findItem(R.id.search),MenuItemCompat.SHOW_AS_ACTION_ALWAYS);37 MenuItemCompat.setShowAsAction(menu.findItem(R.id.progess),MenuItemCompat.SHOW_AS_ACTION_ALWAYS);38 return super.onCreateOptionsMenu(menu);39 40 41 }42 43 @Override44 public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {45 Fragment fragment = new FirstFragment();46 Bundle args = new Bundle();47 args.putInt("zhang",tab.getPosition()+1);48 fragment.setArguments(args);49 50 android.app.FragmentTransaction ft1 = getFragmentManager().beginTransaction();51 ft.replace(R.id.container,fragment);52 //ft.commit();//這代碼不注釋掉會儲存############################################################################################################53 }54 55 @Override56 public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {57 58 }59 60 @Override61 public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {62 63 }64 65 @Override66 public void onFragmentInteraction(Uri uri) {67 68 }69 }
Android介面編程--使用活動條(ActionBar)--實現Tab導航