Android 在ViewPager中而不是在XML中以编程方式创建按钮

Android 在ViewPager中而不是在XML中以编程方式创建按钮,android,android-viewpager,Android,Android Viewpager,我希望在ViewPager中的视图上有左右按钮。但在第一个视图中,我只需要一个右按钮,在最后一个视图中,我只需要一个左按钮。如何利用ViewPager和PagerAdapter以编程方式创建按钮 似乎我无法在PagerAdapter的实例化项中执行此操作,这很糟糕,因为我只能在PagerAdapter代码中使用“position”参数 这是在我的onCreate中,其中rl在活动中全局声明: Button btnLeftClick = new Button(this); btnLeftClick

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

似乎我无法在PagerAdapter的实例化项中执行此操作,这很糟糕,因为我只能在PagerAdapter代码中使用“position”参数

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

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);
}
如果我改为在onCreate中添加视图而不使用If语句,则不会得到NullPointerException

有解决办法吗


谢谢。

检查rl是否为空。btnLeftClick似乎还不错。

我从这个来源找到了答案:答案就在这里:


我的问题是,为了使用
findviewbyd
,我必须先参考按钮所在的布局

哦,我明白了,是的,它是空的。您知道我是否可以实例化和使用适配器中的按钮吗?