Ich habe Image Slider mit ViewPager lernen. Dafür möchte ich, dass die Bilder dynamisch sind. Gleiten ist einfach, aber ich denke, ich benutze es nicht richtig. Hier ist, was ich versuche zu tun.Wie benutzt man glide, um ein Bild in ein Zeichenfeld zu laden?
//Initialize by default Images
private static final Integer[] IMAGES = {R.drawable.image1,R.drawable.image2};
// Load images into Drawables using Glide
Glide.with(this)
.load("https://google.com/someImage1.jpg")
.error(R.drawable.image1)
.into(R.drawable.image1);
Glide.with(this)
.load("https://google.com/someImage2.jpg")
.error(R.drawable.image2)
.into(R.drawable.image2);
// Set Again
IMAGES[0]= R.drawable.image1;
IMAGES[1]= R.drawable.image2;
Aber .into(java.lang.Integer
) nicht definiert ist und ich weiß, dass. Aber ich möchte etwas, das mein Problem lösen würde. Ich habe eine Slider-Ansicht. In diesem muss ich die Bilder als drawables oder etwas so übergeben. Das Laden des Bildes würde vom Adapter übernommen. Ich kann nicht direkt laden, soweit ich weiß. Gibt es eine Möglichkeit, Gleitbilder in drawable
zu laden.
Auch, was ist der beste Weg, um die Bilder lokal zu fangen oder zu speichern, so dass, wenn es keine Internetverbindung gibt, immer noch der Slider reibungslos funktioniert.
Hier ist meine Adapater
public class MainPageSlideImageAdapter extends PagerAdapter {
private ArrayList<Integer> IMAGES;
private LayoutInflater inflater;
private Context context;
public MainPageSlideImageAdapter(Context context,ArrayList<Integer> IMAGES) {
this.context = context;
this.IMAGES=IMAGES;
inflater = LayoutInflater.from(context);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public int getCount() {
return IMAGES.size();
}
@Override
public Object instantiateItem(ViewGroup view, int position) {
View imageLayout = inflater.inflate(R.layout.main_page_slidingimages, view, false);
assert imageLayout != null;
final ImageView imageView = (ImageView) imageLayout
.findViewById(R.id.image);
imageView.setImageResource(IMAGES.get(position));
view.addView(imageLayout, 0);
return imageLayout;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
@Override
public void restoreState(Parcelable state, ClassLoader loader) {
}
@Override
public Parcelable saveState() {
return null;
}
}
Wenn Sie einen Fehler erhalten, dass eine Methode nicht definiert ist, überprüfen Sie immer die Dokumentation. Die 'R.drawable'-Referenzen sind Ganzzahlen. Die Dokumentation zeigt deutlich, dass ein ImageView in –
geladen wird Danke. Ich verstehe und habe Dokumentation gelesen. Bitte lesen Sie die Details, die ich hinzugefügt habe. – impossible