以ViewPager而不是XML格式编程创建按钮

时间:2012-01-31 01:20:04

标签: android android-viewpager

我希望在ViewPager中的视图上有左右按钮。但是在第一个视图中,我只需要一个右键,最后只需一个左键。如何利用ViewPager& amp;编程方式创建按钮? PagerAdapter?

似乎我无法在PagerAdapter的instantiateItem中执行此操作,因为我只能在PagerAdapter代码中使用'position'参数。

这是在我的onCreate中,其中rl在Activity中全局声明:

Button btnLeftClick = new Button(this);
btnLeftClick.setText("&lt&lt");
btnLeftClick.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT));

Button btnRightClick = new Button(this);
btnRightClick.setText("&gt&gt");
btnRightClick.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT));
rl = (RelativeLayout) View.inflate(this, R.layout.view1, null);

这是我在我的PagerAdapter中尝试做的,但是我得到了NullPointerException:

if (position == numViews) {
                rl.addView(btnLeftClick);
}

如果我在没有if语句的情况下在onCreate中添加视图,我就不会得到NullPointerException。

对此有何解决方法?

感谢。

2 个答案:

答案 0 :(得分:0)

检查rl是否为空。 btnLeftClick看起来不错。

答案 1 :(得分:0)

我从这个来源中找到了答案:答案就在这里:http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/comment-page-1/#comment-14065

我的问题是我必须先引用按钮所在的布局才能使用findViewById