
kukuk
App-Anbieter (kostenlos)
- 37
Guten Morgen, ich lasse einen Custom Dialog anzeigen, nach 2s wird der handler aufgerufen. Von dem handler aus convertiere ich eine spracheingabe. Wenn reversing_record(); fertig ist, wird am ende reversing_spracheingabe = true; gesetzt. Leider läuft meine Anwendung durch die while Schleife nicht. Es hängt sich auf. Kann mir da jemand helfen?
Code:
Context context = this;
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.reversing_sound);
dialog.setTitle("Verarbeiten!");
final TextView txt1 = (TextView)dialog.findViewById(R.id.textView1);
final ImageView myAnimation = (ImageView)dialog.findViewById(R.id.imageView1);
final Button close = (Button) dialog.findViewById(R.id.button1);
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
reversing_record();
if (dialog.isShowing()) {
while(reversing_spracheingabe){
txt1.setText("Bearbeitung erfolgreich durchgeführt!");
myAnimation.setImageResource(R.drawable.arrow);
}
}
}
};
final Handler handler_ready = new Handler();
final Runnable runnable_ready = new Runnable() {
@Override
public void run() {
if (dialog.isShowing()) {
dialog.dismiss();
return;
}
}
};
close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
toast_reversing_aborted();
handler.removeCallbacks(runnable);
dialog.dismiss();
}
});
final AnimationDrawable myAnimationDrawable
= (AnimationDrawable)myAnimation.getDrawable();
myAnimation.post(
new Runnable(){
@Override
public void run() {
myAnimationDrawable.start();
}
});
handler.postDelayed(runnable, 2000);
handler_ready.postDelayed(runnable_ready, 5000);
dialog.show();
[/code}