Ich versuche, einen benutzerdefinierten progressdialog beim Laden von RSS-Feed von HTTP-Server anzuzeigen, machte ich eine harte Suche, aber nichts half mir dabei, das einzige, was ich weiß ist, dass die Lösung AsyncTask verwenden sollte, aber ich verwirre über die Parameter, um diese AsyncTask zu übergeben. Hier ist meine Tätigkeit:ProgressDialog in AsyncTask
import java.util.ArrayList;
import java.util.List;
import com.cyberesa.info.BaseFeedParser;
import com.cyberesa.info.Message;
import com.cyberesa.info.MessageListAdapter;
import com.cyberesa.info.R;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class Soirees extends ListActivity {
private List<Message> messages;
private TextView tvSorties;
private MyProgressDialog dialog;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.sorties);
tvSorties=(TextView)findViewById(R.id.TVTitle);
tvSorties.setText("Programme des soirées");
loadFeed();
}
private void loadFeed(){
try{
BaseFeedParser parser = new BaseFeedParser();
messages = parser.parse();
List<Message> titles = new ArrayList<Message>(messages.size());
for (Message msg : messages){
titles.add(msg);
}
MessageListAdapter adapter = new MessageListAdapter(this,titles);
this.setListAdapter(adapter);
adapter.notifyDataSetChanged();
} catch (Throwable t){
Log.e("ImageLoader",t.getMessage(),t);
}
}
}
Können Sie mir bitte helfen AsyncTask diesem hinzufügen?
Danke, Houssem
ok, upvote oder als die Lösung markieren =) –
Kann Handler nicht darin erstellen Thread, der Looper.prepare() nicht aufgerufen hat, bekomme ich diesen Fehler. wie man das löst. – Noby
Ich denke, dass Sie noch eine Sache hinzufügen müssen. Sie müssen ein globales privates Objekt für Ihre AsyncTask erstellen und wenn die Aktivität zerstört wird, müssen Sie die AsyncTask abbrechen. Wenn Sie in Ihrem Fall die Zurück-Taste drücken, bevor die AsyncTask abgeschlossen ist, stürzt die App höchstwahrscheinlich ab. – tasomaniac