Android ViewPager监听其控件

左右滑动主要方法,先获取layout id再由此获取部件id,再讲获取的第x页面[layout1 = mInflater.inflate(R.layout.common, null);]加入到List[views.add(layout1);]

LayoutInflater inflater = getLayoutInflater();  
        View v=inflater.inflate(R.layout.item04, null);
        Button b=(Button) v.findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {
                        
                        @Override
                        public void onClick(View v) {
                                Intent intent=new Intent(TManagerActivity.this, abc.class);
                                startActivity(intent);
                        }
                });
        pageViews = new ArrayList<View>();  
        pageViews.add(inflater.inflate(R.layout.item01, null));  
        pageViews.add(inflater.inflate(R.layout.item02, null));  
        pageViews.add(inflater.inflate(R.layout.item03, null));  
        pageViews.add(v);

 

setContentView(R.layout.main);首先获取空白页

main.xml

//这个组件,注意这个组件是用来显示左右滑动的界面的

     <android.support.v4.view.ViewPager

        android:id="@+id/main_viewpager"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_gravity="center" > 

        

        <android.support.v4.view.PagerTitleStrip

            android:id="@+id/pagertitle"

            android:layout_width="wrap_content"

            android:layout_height="0dp"

            android:layout_gravity="bottom"

            android:background="#0000"

            android:textColor="#ffff" />

        

    </android.support.v4.view.ViewPager>  

 

Activity.java

       public class MainMenuView extendsActivityGroup {

      private ArrayList<View> views;

      private ViewPager mViewPager;//

 

      public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

//放入空白页作为底面控制翻页

            views = newArrayList<View>();

//空白底面,并且注册为左右翻滚的xml 作为第一个显示的layout,并且通过findViewId方法获取ViewPager[main_viewpager 布局文件名]

            mViewPager = (ViewPager)

findViewById(R.id.main_viewpager);

 

//初始化ViewPager

            mViewPager.setOnPageChangeListener(null);

 

//加载翻转页面

            initView();

            // addViews();

//Activity里实例化ViewPager组件,并设置它的Adapter(就是PagerAdapter,方法与ListView一样的),在这里一般需要重写PagerAdapter

            PagerAdapter mPagerAdapter = new PagerAdapter() {

 

                  @Override

                  public booleanisViewFromObject(View arg0, Object arg1) {

                        return arg0 == arg1;

                  }

 

                  @Override

                  public int getCount() {

                        return views.size();

                  }

 

                  @Override

                  public voiddestroyItem(View container, int position, Object object) {

                        ((ViewPager) container).removeView(views.get(position));

                  }

 

                  @Override

                  public Object instantiateItem(View container, int position) {

                        ((ViewPager) container).addView(views.get(position));

                        return views.get(position);

                  }

            };

//加载要显示的滚动页面

            LayoutInflater mInflater = getLayoutInflater();

 

            View layout1 = mInflater.inflate(R.layout.common, null);

            View layout2 = mInflater.inflate(R.layout.two, null);

 

            Button buttonNews = (Button) layout1.findViewById(R.id.news);

 

            Button buttonBib = (Button) layout2.findViewById(R.id.bib);

//监听按键

            buttonNews.setOnClickListener(newOnClickListener() {

           

             public void onClick(View v) {

           

             try {

             Intent visiteur = new Intent(v.getContext(), NewsView.class);

             startActivity(visiteur);

             } catch (Exception e) {

             Toast.makeText(null, R.string.rediectTest,

             Toast.LENGTH_SHORT);

             }

           

             }

             });

// 将要分页显示的View装入数组将相应的Activity转换成View对象

            views.add(layout1);

            views.add(layout2);

            mViewPager.setAdapter(mPagerAdapter);

      }

 

//加载翻转页面

      public void initView() {

            oneView = getViews(OneActivity.class, "one");

            twoView = getViews(TwoActivity.class, "one");

 

      }

 

     

//这个方法只能用于继承ActivityGroup 而非Activity

      public View getViews(Class<?> cls, String pageid) {

            returngetLocalActivityManager().startActivity(

                        pageid,

                        newIntent(MainMenuView.this, cls)

                                   .addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT))

                        .getDecorView();

      }

 

}


http://blog.sina.com.cn/s/blog_68d733750101izrv.html



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值