Ответ 1
Попробуйте это,
@Override
public Object instantiateItem(ViewGroup container, final int position) {
final TextView view = new TextView(Normal2Activity.this);
view.setText("Item " + position);
view.setGravity(Gravity.CENTER);
view.setBackgroundColor(Color.argb(255, position * 50, position * 10, position * 50));
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(Normal2Activity.this, "position: " + position, Toast.LENGTH_SHORT).show();
}
});
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, final int position, Object object) {
((ViewPager) container).removeViewAt(position);
}
Вот полный код.
public class Normal2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_normal2);
PagerContainer mContainer = (PagerContainer) findViewById(R.id.pager_container);
final ViewPager pager = mContainer.getViewPager();
PagerAdapter adapter = new MyPagerAdapter();
pager.setAdapter(adapter);
pager.setOffscreenPageLimit(adapter.getCount());
pager.setClipChildren(false);
boolean showRotate = getIntent().getBooleanExtra("showRotate",true);
if(showRotate){
new CoverFlow.Builder()
.with(pager)
.scale(0.3f)
.pagerMargin(0f)
.spaceSize(0f)
.rotationY(25f)
.build();
}
}
private class MyPagerAdapter extends PagerAdapter {
@Override
public Object instantiateItem(ViewGroup container, final int position) {
final TextView view = new TextView(Normal2Activity.this);
view.setText("Item " + position);
view.setGravity(Gravity.CENTER);
view.setBackgroundColor(Color.argb(255, position * 50, position * 10, position * 50));
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(Normal2Activity.this, "position: " + position, Toast.LENGTH_SHORT).show();
System.out.println("position:::::::::::::" + position);
}
});
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, final int position, Object object) {
((ViewPager) container).removeViewAt(position);
}
@Override
public int getCount() {
return 15;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
}
}