Eine meiner Aktivitäten verwendet ViewPager
, um zwischen Bildern zu wischen und eine andere Aktivität zu starten, wenn das Bild gedrückt wird. Bevor ich die neue Aktivität starte, verwende ich diese library:
https://github.com/daimajia/AndroidViewAnimations, um die Objekte zu animieren, die ich in activity_layout
habe. Das Problem ist, dass mein ViewPagerAdapter
ist kein Aktivitätsklasse, damit ich nicht findViewById
benötigen verwenden kann, wie in library
Aktivitätslayoutelemente in ViewPager Adapterklasse
Library example:
YoYo.with(Techniques.FadeIn)
.duration(2100)
.repeat(0)
.playOn(findViewById(R.id.settingsButton));
ViewPagerAdapter:
public class ViewPagerAdapter extends PagerAdapter{
List<Integer> lstCrates;
Context context;
LayoutInflater inflater;
public ViewPagerAdapter(List<Integer> lstImages, Context context) {
this.lstCrates = lstImages;
this.context = context;
inflater = LayoutInflater.from(context);
}
@Override
public Object instantiateItem(ViewGroup container, final int position) {
View view = inflater.inflate(R.layout.list_item, container, false);
ImageView swipeableCrate = (ImageView)view.findViewById(R.id.swipeableCrate);
swipeableCrate.setImageResource(lstCrates.get(position));
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position == 0) {
Intent intent = new Intent(context, Gamescom.class);
context.startActivity(intent);
if (context instanceof Activity) {
((Activity) context).overridePendingTransition(R.anim.animation1, R.anim.animation2);
}
}
if (position == 1) {
Intent intent = new Intent(context, MainActivity.class);
context.startActivity(intent);
if (context instanceof Activity) {
((Activity) context).overridePendingTransition(R.anim.animation1, R.anim.animation2);
}
}
if (position == 2) {
Intent intent = new Intent(context, Main2Activity.class);
context.startActivity(intent);
if (context instanceof Activity) {
((Activity) context).overridePendingTransition(R.anim.animation1, R.anim.animation2);
}
}
}
});
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View)object);
}
@Override
public int getCount() {
return lstCrates.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
Ist dies eine Weise, die ich verwenden können, diese Bibliothek in meinem ViewPagerAdapter
?
Bitte, betrachten es als Antwort zu akzeptieren, wenn es – emiraslan
geholfen Es hat funktioniert! Danke vielmals! –