`
wangyang191
  • 浏览: 32488 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Android ViewPager多页面滑动切换以及单页卡内添加事件

阅读更多
Android ViewPager多页面滑动切换实现之后,如何在各个view元素中添加自己的监听事件呢?请看下面代码:
一、页卡1内添加一个测试按钮。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#158684" >

    <Button
        android:id="@+id/btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="事件测试" />

</LinearLayout>

二、在适配器的初始化方法中添加按钮事件,这里是关键,首先判断当前的页卡编号。必须使用当前的view来获取按钮。
@Override
        public Object instantiateItem(View arg0, int arg1) {
            if (arg1 < 3) {
                ((ViewPager) arg0).addView(mListViews.get(arg1 % 3), 0);
            }
            // 测试页卡1内的按钮事件
            if (arg1 == 0) {
                Button btn = (Button) arg0.findViewById(R.id.btn);
                btn.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        new AlertDialog.Builder(MainActivity.this)
                                .setTitle("说明")
                                .setMessage("单个页卡内按钮事件测试")
                                .setNegativeButton("确定",
                                        new DialogInterface.OnClickListener() {
                                            @Override
                                            public void onClick(
                                                    DialogInterface dialog,
                                                    int which) {
                                            }
                                        }).show();
                    }
                });
            }
            return mListViews.get(arg1 % 3);
        }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics