Próbuję wyświetlić niestandardowy progressdialog podczas ładowania kanału RSS z serwera http, wykonałem trudne wyszukiwanie, ale nic mi nie pomogło, jedyne co wiem to to, że rozwiązanie powinno używać AsyncTask, ale jestem mylące o params, aby przejść do tego AsyncTask. Oto moja działalność:progressDialog w 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);
}
}
}
Czy możesz mi pomóc dodać AsyncTask do tego?
Dziękuję Houssem
ok, upvote lub mark as solution =) –
Nie można utworzyć programu obsługi wewnątrz wątek, który nie nazwał Looper.prepare() Otrzymuję ten błąd. jak rozwiązać ten problem. – Noby
Myślę, że musisz dodać do tego jeszcze jedną rzecz. Musisz utworzyć globalny prywatny obiekt do AsyncTask, a gdy działanie zostanie zniszczone, anuluj AsyncTask. W twoim przypadku, jeśli użytkownik naciśnie przycisk Wstecz przed zakończeniem zadania AsyncTask, najprawdopodobniej nastąpi awaria aplikacji. – tasomaniac