0

こんにちは、キャンバスの再描画とクロノメーターの開始を同時に行う Android アプリケーションに取り組んでいます。これをどのように達成できるか知っている人はいますか?

invalidate() が呼び出されたときに、View クラスで chronometer.start を呼び出そうとしました。しかし、キャンバスだけが描き直され、クロノメーターはまったく起動しませんでした。

編集:これが私が試したコードです:

 public class ReDraw extends View{
     public ReDraw(Context context){
            super(context);
            this.selfPointer = this;
            setFocusable(true);
            chrono(context);
          }


          public void chrono(Context context){
              chrono = new Chronometer(context);

              chrono.setOnChronometerTickListener(new OnChronometerTickListener(){
                  public void onChronometerTick(Chronometer arg){

                       elapsedTime = (SystemClock.elapsedRealtime() - arg.getBase()) / 1000;
                      long milliseconds= (long) (elapsedTime/60);

                         String millisec=Long.toString(milliseconds);
                         arg.setText(millisec);
                  }
              });
              chrono.setBase(SystemClock.elapsedRealtime());
                   chrono.start();
               }


        }

     protected void onDraw(Canvas Square) 
          {
            super.onDraw(Square);
            Paint squareColor = new Paint();
                squareColor.setColor(Color.BLACK);
                Square.drawRect(200,100,200,100, squareColor); 
                return;
                }

            }

     public boolean onTouchEvent(MotionEvent event)
            {

                if (event.getAction() == MotionEvent.ACTION_DOWN)   
                {   
                    invalidate();
                }
                return;                         
            }
      }
4

1 に答える 1