2

私は Aandroid でプロジェクトを作成しています。このプロジェクトでは、複数のタイマーを何度も有効または無効にする必要があります。タイマーを再起動するには、、、などtimer1.cancel()、また. しかし、プログラムがクラッシュするたびに。構文エラーはありません。サンプルは次のとおりです。timer1.purgetimer2.schedulewait

foc.setOnClickListener(new View.OnClickListener() {

 @Override
 public void onClick(View v) {

  if(col==1)
  {
   t.cancel();
   t.purge();
   songt=new Timer();
   songt.schedule(songtask, 1000, mdl.getspeed());
  }
}
});  


b[len].setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg) {
                        songt.cancel();
                        songt.purge();
                        //t=new Timer();
                        t.scheduleAtFixedRate(ttask, 1000, mdl.getspeed());
                    }
                });  

public TimerTask ttask=new TimerTask() {

    @Override
    public void run() {
                runOnUiThread(new Runnable()
                {
                    public void run()
                    { 
                        foc.requestFocus();
                        if(col==1)
                        {
                            lay.setBackgroundColor(Color.TRANSPARENT);
                            op.setBackgroundColor(Color.CYAN);
                        }
                        else
                        {
                            op.setBackgroundColor(Color.TRANSPARENT);
                            lay.setBackgroundColor(Color.CYAN);
                        }
                        col=1-col;
                    }
                });
    }
};


public TimerTask songtask=new TimerTask() {

    @Override
    public void run() {
        runOnUiThread(new Runnable()
        {
            public void run()
            { 
                b[in].requestFocus();
                if(rev==0)
                {
                    in++;
                    if(in==len) 
                        in=0;
                }
                else if(rev==1)
                {
                    in--;
                    if(in==-1) in=len-1;
                }
            }
        });

    }
};
4

0 に答える 0