分享

用viewPager放了三个view 如何实现子activity之间的滑动

 随身Book 2013-11-15
0 votes, 0.00 avg. rating (0% score)

主页面源码如下,viewPager里放了三个view,现在通过view1 = getLocalActivityManager().startActivity("activity01",new Intent(IndexActivity.this, MainActivity.class)).getDecorView();等三句实现了子activity间的滑动,但是用toast显示发现似乎三个子activity是同时都onCreate()了。。求教一下能否不用这个语句和ActivityGroup实现activity的滑动。。安卓新手请多包涵。
public class IndexActivity extends ActivityGroup{  
    private ViewPager viewPager;
    private PagerTabStrip pagerTabStrip;
    private View view1, view2, view3;
    private List<View> viewList;
    private List<String> titleList;   

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.index);  
        initView();        
    }  
     private void initView() {
            viewPager = (ViewPager) findViewById(R.id.viewpager);
            //pagerTitleStrip = (PagerTitleStrip) findViewById(R.id.pagertitle);
            pagerTabStrip=(PagerTabStrip) findViewById(R.id.pagertab);
            pagerTabStrip.setTabIndicatorColor(getResources().getColor(R.color.gold));  
            pagerTabStrip.setDrawFullUnderline(false);
            pagerTabStrip.setBackgroundColor(getResources().getColor(R.color.white));
            pagerTabStrip.setTextSpacing(50);           
      
            LayoutInflater lf = getLayoutInflater().from(this);  
            //view1 = lf.inflate(R.layout.start_activity, null);
            view1 = getLocalActivityManager().startActivity("activity01",new Intent(IndexActivity.this, MainActivity.class)).getDecorView();
            view2 = getLocalActivityManager().startActivity("activity02",new Intent(IndexActivity.this, SetActivity.class)).getDecorView();  
            view3 = getLocalActivityManager().startActivity("activity03",new Intent(IndexActivity.this, StatisticsActivity.class)).getDecorView();
      
            viewList = new ArrayList<View>();// 将要分页显示的View装入数组中  
            viewList.add(view1);            
            viewList.add(view2);  
            viewList.add(view3);         
      
            titleList = new ArrayList<String>();// 每个页面的Title数据  
            titleList.add("主页");  
            titleList.add("设置");  
            titleList.add("统计");
      
            PagerAdapter pagerAdapter = new PagerAdapter() {  
      
                @Override  
                public boolean isViewFromObject(View arg0, Object arg1) {  
      
                    return arg0 == arg1;  
                }  
      
                @Override  
                public int getCount() {  
      
                    return viewList.size();  
                }  
      
                @Override  
                public void destroyItem(ViewGroup container, int position,  
                        Object object) {  
                    container.removeView(viewList.get(position));  
      
                }  
      
                @Override  
                public int getItemPosition(Object object) {  
      
                    return super.getItemPosition(object);  
                }  
      
                @Override  
                public CharSequence getPageTitle(int position) {  
      
                    return titleList.get(position);
      
                }  
      
                @Override  
                public Object instantiateItem(ViewGroup container, int position) {  
                    container.addView(viewList.get(position));         
                    return viewList.get(position);  
                }      
            };  
            viewPager.setAdapter(pagerAdapter);  
        }
}

2个回复
回复: 不建议使用viewpager+activity的组合,建议使用viewpager+fragment的组合,这也是google官方推荐的
回复: 用一个Activity 继承 ActivityGroup 然后在这个ActivityGroup中 将需要的Activity 初始化成View
ActivityGroup中有这个方法
View view = getLocalActivityManager().startActivity("FIRST1", new Intent(this,Activity.class)).getDecorView();
得到View之后 存储到 List<View>集合中
然后 设置到 PageAdapter中 就可以实现你想要的效果了
其实用 Fragment 也可以.
个人认为 都由自己的好处.用ViewPager 也可以灵活的 对组Activity进行操作.更新等操作.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多