packagecom.example.aidldemo;importandroid.support.v4.app.FragmentTransaction;importandroid.support.v7.app.ActionBar;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.KeyEvent;public class Main4Activity extendsAppCompatActivity {
ActionBar actionBar;
BaseFragment curFragment;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
actionBar=getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tab1=actionBar.newTab();
tab1.setText("List");
tab1.setTabListener(new MyTabListener(newListFragment()));
ActionBar.Tab tab2= actionBar.newTab().setText("Text");
tab2.setTabListener(new MyTabListener(newTextFragment()));
actionBar.addTab(tab1);
actionBar.addTab(tab2);
}
@Overridepublic boolean onKeyDown(intkeyCode, KeyEvent event) {
Log.e("MainActivity", "------------1、onKeyDown-------------keyCode:"+keyCode);
curFragment.onKeyDown(keyCode,event);return super.onKeyDown(keyCode, event);
}class MyTabListener implementsActionBar.TabListener{privateBaseFragment fragment;publicMyTabListener (BaseFragment fragment){this.fragment=fragment;
}
@Overridepublic voidonTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
curFragment=fragment;
ft.setCustomAnimations(R.anim.slide_right_in,
R.anim.slide_left_out,
R.anim.slide_left_in,
R.anim.slide_right_out).replace(R.id.context,fragment);
}
@Overridepublic voidonTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
@Overridepublic voidonTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
}
@Overrideprotected voidonDestroy() {super.onDestroy();
}
}