У меня есть список карт, каждая карта имеет две стороны (спереди и сзади).Я хочу показать эти карты (спереди) как CardView в ViewPager, когда пользователь щелкнет карточку, она перевернется и отобразится на оборотной стороне, затем мне нужно показать кнопку для перехода к следующей карте (спереди) в MainAcitvity, как я могуобнаружить ViewPager нажмите в MainActiviy, чтобы показать следующую карту в ViewPager?
public Object instantiateItem(ViewGroup container, int position) {
TextView txtFront, txtBack, txtFrontHeader, txtBackHeader;
final CardView fr,bk;
layoutInflater=LayoutInflater.from(context);
View view=layoutInflater.inflate(R.layout.cards_review_layout,container,false);
String s = context.getString(R.string.box);
txtFrontHeader = (TextView) view.findViewById(R.id.front_header_txt);
txtBackHeader = (TextView) view.findViewById(R.id.back_header_txt);
txtFront = (TextView) view.findViewById(R.id.display_card_front_text);
txtBack = (TextView) view.findViewById(R.id.display_card_back_text);
fr = (CardView) view.findViewById(R.id.card_front);
bk = (CardView) view.findViewById(R.id.card_back);
txtFrontHeader.setText(cardList.get(position).getGroupName() + " " + cardList.get(position).getId());
txtBackHeader.setText(s + " " + boxString(cardList.get(position).getBoxNo()));
txtFront.setText(cardList.get(position).getFront());
txtBack.setText(cardList.get(position).getRear());
fr.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fr.animate().rotationX(-90).setDuration(300).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
fr.setVisibility(View.GONE);
bk.setRotationX(90);
bk.setVisibility(View.VISIBLE);
bk.animate().rotationX(0).setDuration(300).setListener(null);
}
});
}
});
bk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bk.animate().rotationX(-90).setDuration(300).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
bk.setVisibility(View.GONE);
fr.setRotationX(90);
fr.setVisibility(View.VISIBLE);
fr.animate().rotationX(0).setDuration(300).setListener(null);
}
});
}
});
container.addView(view,0);
return view;
}
Я использую этот код в MainActivity, но onClickListener не работает
adapter=new Adapter(cards,this);
viewPager=(ViewPager) findViewById(R.id.pager_review);
viewPager.setAdapter(adapter);
viewPager.setPadding(0,0,0,0);
btn=(Botton) findViewById(R.id.next_card);
viewPager.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn.setVisibility(View.VISIBLE);
}
});