join() in Thread einbauen, wo?

  • Antworten:4
  • Bentwortet
Pascal Kieninger
  • Forum-Beiträge: 5

29.05.2015, 14:06:20 via Website

Hallo zusammen, kurze frage, wie kann ich im folgenden Programmcode Thread.join() einbauen? Vielen Dank!

      new Thread  (new Runnable() {
             public void run() {
                 System.out.println(Thread.currentThread().getName() + " is Started");
                while (progressStatus < 90 && progressStatus > 10 && i < 6) {   
                   progressStatus += 1;
                   if(progressStatus == 70){
                   System.out.println("70 erreicht");


                rando =(int) (Math.random()*3+1);
                  } 


handler.post(new Runnable() {
public void run() {
   progressBar.setProgress(progressStatus);
   textView.setText("Blutzucker:   " + progressStatus+"/"+progressBar.getMax()); 

   switch(rando){

    case 1:

        button1.setBackgroundResource(R.drawable.btnrot_animation);
        button1.setEnabled(true);
button1.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {    
        if (progressStatus >= 70 && progressStatus < 90) {
                    progressStatus = progressStatus - 20;

                 rando = 0;
                button1.setBackgroundResource(R.drawable.btn_animation);
                button1.setEnabled(false);
                i++;
                System.out.println(i);
                }
        }
   });break;

    case 2:

            button2.setBackgroundResource(R.drawable.btnrot_animation);
            button2.setEnabled(true);
button2.setOnClickListener(new View.OnClickListener() {
       public void onClick(View b) {        
        if (progressStatus >= 70 && progressStatus < 90) {
                progressStatus = progressStatus -20;
             rando = 0;
            button2.setBackgroundResource(R.drawable.btn_animation); 
            button2.setEnabled(false);
            i++;
            System.out.println(i);
            }
            } 
   });break;

    case 3:

            button3.setBackgroundResource(R.drawable.btnrot_animation);
            button3.setEnabled(true);
button3.setOnClickListener(new View.OnClickListener() {
       public void onClick(View n) {    
        if (progressStatus >= 70 && progressStatus < 90) {
                progressStatus = progressStatus -20;
             rando = 0;
            button3.setBackgroundResource(R.drawable.btn_animation);
            button3.setEnabled(false);
            i++;
            System.out.println(i);
            }
            }
   });break;
}
} 
    });
    try {
       // Sleep for 200 milliseconds. 
           //Just to display the progress slowly
       Thread.sleep(500); //War auf 500
    } catch (InterruptedException e) {
       e.printStackTrace();

    } 
    if(i == 6){
        break; 
     } 
         }

             } 

} ).start();

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.05.2015, 10:45:33 via App

Gegenfrage: Was bewirk Thread.join() und wo muss es demnach stehen ? ;) 😉

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
3_7_9_1
  • Forum-Beiträge: 303

30.05.2015, 10:58:59 via Website

Hi, ich habe zwar keine Antwort auf deine Frage, aber der Interesse halber: Womit ist das geschrieben?

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

30.05.2015, 11:13:11 via Website

Pascal P.

Gegenfrage: Was bewirk Thread.join() und wo muss es demnach stehen ? ;) 😉

Anschlussfrage: Wozu Thread.join() auf der Android-Plattform? Es gibt so viele sehr ausgeklügelte Konstrukte für nebenläufige Prozesse, die NICHT das Threading-Modell von Android komplett stören.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.05.2015, 17:50:15 via Website

Meine Frage war nur gestellt, um in erfahrung zu bringen, was der TE vor hat. Thread.join() ist bei andriid wirklich nicht sehr praktiabel

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten