Ich versuche, einen Radio-Player (mit Shoutcast-Streams) für Android zu implementieren. Was ich tun möchte, ist, während der Radio-Stream im Player geladen wird, zeigt die Benutzeroberfläche eine animierte Animation an. Bei erfolgreichem Laden (sobald der Song abgespielt wird) verschwindet die Animation.ProgressDialog in Android erscheint nicht (falsche Thread-Handhabung?)
Hier ist der Code, den ich verwende.
PlayStopStreamingButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Thread initializer = new Thread(new Runnable() {
@Override
public void run() {
Looper.myLooper();
Looper.prepare();
progressDialog = ProgressDialog.show(RadioPlayerActivity.this, "", "Selecting Radio Station",
true);
JukefoxApplication.getHandler().post(new Runnable() {
@Override
public void run() {
radioPlayerEventListener.onPlayStopStreamingButtonClicked();
progressDialog.dismiss();
}
});
}
});
initializer.start();
}
});
Ich bekomme keine drehende Animation. Ich bin mir fast sicher, dass mein Fehler in der falschen Handhabung von Threads liegt. Wenn jemand den richtigen Weg gehen könnte, wäre ich dankbar.
EDIT, dies scheint zu funktionieren:
PlayStopStreamingButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
progressDialog = ProgressDialog.show(RadioPlayerActivity.this, "", "Selecting Radio Station", true);
Thread initializer = new Thread(new Runnable() {
@Override
public void run() {
radioPlayerEventListener.onPlayStopStreamingButtonClicked();
progressDialog.dismiss();
}
});
initializer.start();
}
});
Ich glaube, Sie es entlassen sehr schnell, und das ist, warum Sie sehe es nicht. –