Au clic d'un bouton, je souhaite ouvrir une boîte de dialogue. Dans cette boîte de dialogue, je veux définir le texte dynamiquement (un peu comme un chronomètre) avec le texte qui viendra par une boucle. Quelqu'un pourrait-il me guider avec un exemple de code? J'ai essayé de nombreux exemples donnés sur le net mais je n'ai pas réussi à atteindre le résultat.Utilisation d'une tâche asynchrone Android
//Button where the action starts
public void onClickStart(View v) {
final Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.activity_details);
dialog.setTitle("Your Step Details");
dialog.show();
DisplayTask dd= new DisplayTask();
dd.execute();
}
public void doWork(){
final Handler handler=new Handler();
new Thread(new Runnable(){
boolean isRunning=true;
@Override
public void run() {
while(isRunning){
try{
handler.post(new Runnable(){
@Override
public void run() {
try{
TextView txtCurrentTime= (TextView)findViewById(R.id.txtLeft);
Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
int seconds = dt.getSeconds();
String curTime = hours + ":" + minutes + ":" + seconds;
txtCurrentTime.setText(curTime);
}catch (Exception e) {}
}
});
}catch(Exception e){
}
}
}
}).start();
}
public class DisplayTask extends AsyncTask<Void , Void, Void> {
protected void onPostExecute(){
MainActivity main= new Mai`enter code here`nActivity();
main.doWork();
}
@Override
protected Void doInBackground(Void... params) {
onPostExecute();
return null;
}
}
Ce que vous avez essayé - – minhaz
En cliquant sur le bouton, j'ai appelé une méthode. Là, j'ai ouvert ma boîte de dialogue. Cette boîte de dialogue a deux zones de texte. Je veux mettre le texte avec un texte dynamique (disons le temps). J'ai créé une classe asyncTask et à partir de onPostExecute(), j'ai appelé la méthode où je mettais à jour le textBox. Mais cela ne fonctionne pas – DebD
Pouvez-vous poster votre code? Ensuite, nous pourrions être en mesure de voir ce que vous avez mal fait. – Jules