Freunde,Wie vermeidet man mehrere asynchrone Thread-Aufrufe?
i folgenden Code bin mit Android Listview zu füllen asynchron
jetzt Problem ist, während dieses Thema läuft i-Taste oder Home-Taste drücken zurück und Aktivität zurück zu kommt
mehr Threads gestartet werden. ...
kann ich vermeiden, diese mehrere Threads eigentlich ich möchte, wenn Thread läuft dann sollte es nicht immer wieder aufgerufen werden. sollte es aufgerufen werden, wenn der vorherige Thread abgeschlossen ist.
private static String[] items={.......};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(
new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
new ArrayList()));
AddStringTask test= new AddStringTask();
test.execute();
}
class AddStringTask extends AsyncTask<Void, String, Void> {
@Override
protected Void doInBackground(Void... unused) {
for (String item : items) {
publishProgress(item);
SystemClock.sleep(1000);
}
return(null);
}
@Override
protected void onProgressUpdate(String... item) {
((ArrayAdapter)getListAdapter()).add(item[0]);
}
@Override
protected void onPostExecute(Void unused) {
Toast
.makeText(AsyncThread.this,
"Done - Finished updating Java Book List!",
Toast.LENGTH_SHORT)
.show();
}
}
}
eine sinnvolle Lösung?
danke im voraus.
Sind Sie versuchen, das Hinzufügen von Listenelementen zu animieren? Coz, wenn Sie es sind, gibt es bessere Möglichkeiten, dies zu tun ... – st0le