-2

I'm beginner... I need to run some code after 10 seconds continuously while my button is enable. and when I clicked on it and it turned to disable-state, timer get stop. I use below code but it run just once when I click on timerbutton every time again... I think I have to use threed and I think I used it too! But I did not get to my goal.

private View.OnClickListener ontimerclicked = new View.OnClickListener() {
    @Override
    public void onClick(View view) {


        Handler myHandler = new Handler();
        myHandler.postDelayed(new Runnable() {
            @Override
            public void run() {

                if (endistimer==false) {
                    endistimer=true;
                    varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#E91E63"));                       
                    varbtnimgnext.performClick();

                    intdelay=10000;
                }
                else
                {
                    endistimer=false;
                    varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#dddddd"));
                    intdelay=0;

                }


            }
        }, intdelay);

    }
};
nobit
  • 3
  • 5

1 Answers1

0

I finaly solved it with below code.I put it for anothers:

 private View.OnClickListener ontimerclicked = new View.OnClickListener() {
    @Override
    public void onClick(View view) {

       mHandler = new Handler();

        if (endistimer==false) {
            endistimer=true;
            varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#E91E63"));

        }
        else
        {
            endistimer=false;
            varbtnimgslidtimer.setBackgroundColor(Color.parseColor("#dddddd"));
            intdelay=5000;
            cntsec=0;
            varbtnplusfive.setText(arrsec[0] +" Sec");


        }


        new Thread(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                while (endistimer) {
                    try {
                        Thread.sleep(intdelay);
                        mHandler.post(new Runnable() {

                            @Override
                            public void run() {
                                // TODO Auto-generated method stub
                                // your codes
                                // you can set continue_or_stop to false, for stop

                            }
                        });
                    } catch (Exception e) {
                        // TODO: handle exception
                        Toast.makeText(slideword.this,e.toString(),Toast.LENGTH_SHORT);
                    }
                }
            }
        }).start();


    }
};
nobit
  • 3
  • 5