Schleife, um Listenbilder einzeln hochzuladen
ich willLaden Sie mehrere Bilder nacheinander hochWenn der Benutzer auf die Schaltfläche Alle hochladen tippt, muss das erste Bild in einer Liste angezeigt werden. Sobald das erste Bild auf den Server hochgeladen wird, muss automatisch das zweite zum Hochladen gestartet werden, jedoch nach ein oder zwei Sekunden und für alle gleich verfügbare Bilder in einer Liste.
Dies ist mein Code, mit dem ich ein einzelnes Bild hochladen kann: -
Code zum Hochladen eines einzelnen Bildes
// btnUpload
holder.uploadImageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Upload
startUpload(position);
}
});
ich benutzeunten Code, aber es istHochladen / Synchronisieren alle bilder zur gleichen zeit mein gemeines zusammen, wie ich es habe500 Bilder in einer Liste so seinlade alle 500 zusammen hoch und infolgedessen erhalte ich eine Fehlermeldung, wenn die Internetverbindung unterbrochen wird und der Status der hochgeladenen Bilder oft nicht korrekt ist!
private SparseBooleanArray flags = new SparseBooleanArray();
// At onClick, set all the flags to indicate that some data needs to be synced
ImageButton buttonUploadAll = (ImageButton) findViewById(R.id.sync_btn);
buttonUploadAll.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
for(int position=0; position<listView.getAdapter().getCount(); position++)
{
flags.put(position, true);
}
// Calling this would ensure a call to getView() on every
// visible child of the listview. That is where we will check if
// the data is to be synced and displayed or not
((BaseAdapter) listView.getAdapter()).notifyDataSetChanged();
}
});
@Override
// In getView of the listview's adapter
public View getView(int position, View convertView, ViewGroup parent) {
// If this item is to be synced
if(flags.get(position)) {
startUpload();
// Mark as synced
flags.put(position, false);
}
// Rest of the method that draws the view....
}
Deshalb möchte ichLaden Sie mehrere Bilder nacheinander hoch (in einer Warteschlange)