Lazy-laden von Bildern in gridView

In meiner Anwendung, die ich herunterladen müssen eine Menge Bilder von urls und zeigt diese in einem gridView. (Es kann zwischen 1-200 Bilder). Ich don ' T wollen, laden Sie alle Bilder auf einmal. Ich lese zu faul herunterladen und meine Frage ist: bekomme ich nur ein Teil des Json, laden Sie die Bilder in einem anderen thread, und nur, wenn der Benutzer nach unten scrollen das gridView, werde ich weiterhin die anderen Teile der Json -, und so weiter?

Edit: Hallo nochmal. Ich möchte zu implementieren multi wählen Sie in diesem gridView und ich Schwierigkeiten beim implementieren Sie den code in der getView() Methode des Adapters. Dies ist das Beispiel, das ich verwende:Beispiel. Wie kann ich die kombinieren Sie diesen code in meiner getView() Methode:

public View getView(int position, View convertView, ViewGroup parent) {
        CheckableLayout l;
        ImageView i;

        if (convertView == null) {
            i = new ImageView(Grid3.this);
            i.setScaleType(ImageView.ScaleType.FIT_CENTER);
            i.setLayoutParams(new ViewGroup.LayoutParams(50, 50));
            l = new CheckableLayout(Grid3.this);
            l.setLayoutParams(new GridView.LayoutParams(GridView.LayoutParams.WRAP_CONTENT,
                    GridView.LayoutParams.WRAP_CONTENT));
            l.addView(i);
        } else {
            l = (CheckableLayout) convertView;
            i = (ImageView) l.getChildAt(0);
        }

        ResolveInfo info = mApps.get(position);
        i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));

        return l;
    }


public class CheckableLayout extends FrameLayout implements Checkable {
    private boolean mChecked;

    public CheckableLayout(Context context) {
        super(context);
    }

    public void setChecked(boolean checked) {
        mChecked = checked;
        setBackgroundDrawable(checked ?
                getResources().getDrawable(R.drawable.blue)
                : null);
    }

    public boolean isChecked() {
        return mChecked;
    }

    public void toggle() {
        setChecked(!mChecked);
    }

}

meiner getView () - code:

public View getView(int position, View convertView, ViewGroup parent) {
    //TODO Auto-generated method stub
    ViewHolder holder;
    View vi = convertView;

    if(convertView == null) {
        vi = inflater.inflate(com.egedsoft.instaprint.R.layout.item_clickable, null);
        holder = new ViewHolder();
        holder.imgPhoto = (ImageView)vi.findViewById(com.egedsoft.instaprint.R.id.imageClickable);
        vi.setTag(holder);

    } else {
        holder = (ViewHolder) vi.getTag();
    }


    if (!arrayUrls.get(position).getThumbnailUrl().isEmpty()){
        imageLoader.DisplayImage(arrayUrls.get(position).getThumbnailUrl(), holder.imgPhoto);
    }


    return vi;
}
  • Wie machen Sie eine Anforderung für das abrufen von JSON-Daten? Ist die Quelle die Unterstützung der Auslagerung?
  • Ich bekomme die "neben-url" von der Quelle in Fall gibt es mehr Fotos zu laden
  • Lele: ich würde schätzen, wenn Sie Blick auf meine editierte Frage. Ich danke Ihnen so sehr für Ihre Hilfe.
  • Ich fürchte, ich habe noch nie ein Grid-Ansicht mit Auswahl. Sollten Sie nach einer anderen Frage, für die.
InformationsquelleAutor user1787773 | 2012-11-07
Schreibe einen Kommentar