[英]How to add a button to viewpager with setOnClickListener
我有一個帶有按鈕的布局。 我使用FragmentActivity:
public class slidepage extends FragmentActivity {
private static final int NUM_PAGES = 5;
private ViewPager mPager;
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen_slide);
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
Button Back = (Button) findViewById(R.id.back);
Back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
}
幻燈片類別:
public class slider extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup view;
if(GlobalConfig.tryb) {
view = (ViewGroup) inflater.inflate(R.layout.n_podglad, container, false);
} else {
view = (ViewGroup) inflater.inflate(R.layout.d_podglad, container, false);
}
/* Powrót */
Button Back = (Button) view.findViewById(R.id.back);
Back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//onBackPressed();
}
});
return view;
}
}
不幸的是我的按鈕不起作用。 我在日志中收到空引用。 怎么了? 如何在Viewpager中的按鈕上設置OnClickListener?
里面ScreenSlidePagerAdapter
在instantiateItem
方法寫你的按鈕在你點擊不slidepage
@Override
public Object instantiateItem(View container, int position) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater) act
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout= inflater.inflate(R.layout.pager_layout, null);
Button Back= (Button) layout.findViewById(R.id.back);
Back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
return layout;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.