Android FragmentStatePagerAdapter的写法
来源:互联网 发布:域名出售网 编辑:程序博客网 时间:2024/06/05 02:31
/** * * @描述 主页 * @项目名称 App_Shop * @包名 com.android.shop * @类名 MainActivity * @author chenlin * @date 2015年6月20日 下午9:36:50 */public class MainActivity extends BaseActivity implements OnQueryTextListener { // 拖拽控件 private DrawerLayout mDrawerLayout; // 拖拽控制器 private ActionBarDrawerToggle mDrawerToggle; private ViewPager mViewPager; // 页面切换器 private PagerTabStrip mTabStrip; // tab名称 private String[] mTabNames; // 当前fragment private Fragment mCurrentFragment; // 菜单fragment private FrameLayout mMenuFragment; @Override public void init() { // sendBroadcast(new Intent(KILLACTION)); 关闭activity setContentView(R.layout.activity_main); mTabNames = Util.getStringArray(R.array.tab_names); } @Override public void initViews() { mViewPager = (ViewPager) findViewById(R.id.vp_main); mViewPager.setAdapter(new TabPagerAdapter(getSupportFragmentManager())); mTabStrip = (PagerTabStrip) findViewById(R.id.pager_tab_strip); // 设置指示器颜色 mTabStrip.setTabIndicatorColor(getResources().getColor(R.color.tabIndicator_color)); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout_main); // 加载左侧的菜单信息 mMenuFragment = (FrameLayout) findViewById(R.id.fl_menu); // 数据控制器 MenuHolder holder = new MenuHolder(); // 添加左菜单 mMenuFragment.addView(holder.getConvertView()); } @Override protected void initEvents() { mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { // getSupportActionBar().setSelectedNavigationItem(position); // 在页面切换时显示不同的加载页面 FragmentFactory.createFragment(position).show(); super.onPageSelected(position); } }); } @Override protected void initActionBar() { // getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // 添加菜单 ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); //actionBar.setDisplayShowTitleEnabled(false);//去掉标题 actionBar.setDisplayUseLogoEnabled(true); actionBar.setDisplayShowHomeEnabled(true); actionBar.setHomeButtonEnabled(true); actionBar.setTitle(getResources().getString(R.string.app_title)); //actionBar.setLogo(R.drawable.icon_menu); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.open_drawer, R.string.close_drawer) { @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); } @Override public void onDrawerOpened(View drawerView) { } }; // 设置控制器 mDrawerLayout.setDrawerListener(mDrawerToggle); // 异步状态 mDrawerToggle.syncState(); } /** * 跳转到详情页面 * * @param view */ public void toDetail(View view) { Intent intent = new Intent(this, DetailActivity.class); startActivity(intent); } /** * 添加搜索框 */ @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.activity_main, menu); // if (android.os.Build.VERSION.SDK_INT >= 11) { SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); // 设置查询监听 searchView.setOnQueryTextListener(this); // } return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.action_search) { Toast.makeText(this, "搜索", Toast.LENGTH_LONG).show(); } return super.onOptionsItemSelected(item) | mDrawerToggle.onOptionsItemSelected(item); } @Override public boolean onQueryTextSubmit(String query) { // TODO Auto-generated method stub return true;// true表示执行此方法 } @Override public boolean onQueryTextChange(String newText) { // TODO Auto-generated method stub return true; } private class TabPagerAdapter extends FragmentStatePagerAdapter { public TabPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { //根据位置获得当前的fragment mCurrentFragment = FragmentFactory.createFragment(position); return mCurrentFragment; } @Override public int getCount() { return mTabNames.length; } @Override public CharSequence getPageTitle(int position) { return mTabNames[position]; } } @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_BACK) { //显示退出对话框 showExitDialog(); return true; } return super.dispatchKeyEvent(event); }}
0 0
- Android FragmentStatePagerAdapter的写法
- Android FragmentStatePagerAdapter
- Android-- FragmentStatePagerAdapter
- Android FragmentPagerAdapter和FragmentStatePagerAdapter的区别
- Android FragmentStatePagerAdapter.notifyDataSetChanged()刷新数据的问题
- android FragmentpagerAdapter和FragmentStatePagerAdapter的区别
- <Android 进阶>FragmentStatePagerAdapter与FragmentPagerAdapter的区别
- android之FragmentPagerAdapter 和FragmentStatePagerAdapter的区别
- android ViewPager+FragmentStatePagerAdapter无限循环FragmentStatePagerAdapter
- Android-- FragmentStatePagerAdapter分页
- Android FragmentPagerAdapter vs FragmentStatePagerAdapter
- Android-- FragmentStatePagerAdapter分页
- Android-- FragmentStatePagerAdapter分页
- Android-- FragmentStatePagerAdapter分页
- Android-- FragmentStatePagerAdapter分页
- Android-- FragmentStatePagerAdapter分页
- Android-- FragmentStatePagerAdapter(分页)
- Android-- FragmentStatePagerAdapter分页
- centos源码下载网址
- 第一章 分布式系统介绍
- Spring中Bean的生命周期
- Android PDF截取封面:PDF缩略图预览效果
- 15.5节练习
- Android FragmentStatePagerAdapter的写法
- 下载CyanogenMod c8650源代码
- 成员的类模板
- Android初级教程理论知识(第九章多媒体编程)
- ARM处理器的三级流水线和ARM指令及寻址方式
- 置换矩阵(permutation matrix)
- mysql高级:event触发器
- Leetcode 133 Clone Graph
- Centos7 下安装mplayer播放器