我希望在ViewPager中的视图上有左右按钮。但是在第一个视图中,我只需要一个右键,最后只需一个左键。如何利用ViewPager& amp;编程方式创建按钮? PagerAdapter?
似乎我无法在PagerAdapter的instantiateItem中执行此操作,因为我只能在PagerAdapter代码中使用'position'参数。
这是在我的onCreate中,其中rl在Activity中全局声明:
Button btnLeftClick = new Button(this);
btnLeftClick.setText("<<");
btnLeftClick.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT));
Button btnRightClick = new Button(this);
btnRightClick.setText(">>");
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。
对此有何解决方法?
感谢。
答案 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
。