注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

Viewpage 结合 fragment的使用  

2015-04-05 19:43:58|  分类: 疯狂Android 讲义 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

public class MainActivity extends FragmentActivity
implements TabListener{

/*
* fragmentactivity 在早期的版本的时候使用fragment必须借助于
* fragmentactivity的支持,只有提供了个头supportFragmentMannager()
* 方法获得fragment的管理器
* viewpage他是Fragment的容器,可以同时管理多个fragment,并允许呈现动画的效果!
* FragmentPageAdaper 用于为Viewpage提供多个Fragment的扩展!
*
*/
private ViewPager viewpage;
private ActionBar actionbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionbar=getActionBar();
viewpage=(ViewPager) findViewById(R.id.page);
/*
* 创建一个FragmentAdapter 的对象,为我们的Viewpage提供多个Fragment;
*/
FragmentPagerAdapter pagerAdapter =new FragmentPagerAdapter
(getSupportFragmentManager()) //这里就是体现了刚才的那一点!
{

@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}

@Override
public Fragment getItem(int position) {
// TODO Auto-generated method stub
Fragment fragment =new DumyFragment();
Bundle bundle =new Bundle();
bundle.putInt(DumyFragment.Arg, position+1);
fragment.setArguments(bundle);
return fragment;
}


/*这个下面其实这个方法刚开始是没得了,我们可以不用写都可以的!
* (non-Javadoc)
* @see android.support.v4.view.PagerAdapter#getPageTitle(int)
*/

@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
switch (position) {
case 0:
return"第一页";
case 1:

return"第二页";
case 2:

return"第三页";
}
return null;
}

};
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for(int i=0; i<pagerAdapter.getCount();i++)
{
actionbar.addTab(actionbar.newTab().setText(pagerAdapter
.getPageTitle(i))
.setTabListener(this));
}
viewpage.setAdapter(pagerAdapter);
viewpage.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
actionbar.setSelectedNavigationItem(arg0);
/*
* Set the selected navigation item
* in list or tabbed navigation modes.
*/

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}

@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
viewpage.setCurrentItem(tab.getPosition());
/*
* 当前选择中的页面哟!
*/

}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub

}

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub

}


}


它们的结合非常的强大起来哟!
  评论这张
 
阅读(8)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017