猿问

Android / java - 在 onClick 中使用计时器循环

这是我的第一个问题,如果格式不正确,我深表歉意。我正在使用 java 并试图让计时器在单击按钮时在 while 循环内运行。一旦单击开始按钮,结果应该会导致 .setText 定期更改框中的文本。


protected void onCreate(Bundle savedInstanceState)

{

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    startBtn = findViewById(R.id.startButton);

    item = findViewById(R.id.Rule);


    startBtn.setOnClickListener(new View.OnClickListener()

    {

        @Override

        public void onClick(View v)

        {

            while(true)

            {

                Timer();

            }

        }

    });

}

public void Timer()

{

        Handler handler = new Handler();

        handler.postDelayed(new Runnable() 

        {

            @Override

            public void run()

            {

                item.setText()

            }

        }, 5000);

}`

问题是当点击开始按钮时,似乎什么也没发生。或者,我也尝试重复定时器调用。虽然这有效,但它只会运行一次计时器调用,然后结束点击功能。


protected void onCreate(Bundle savedInstanceState)

{

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    startBtn = findViewById(R.id.startButton);

    item = findViewById(R.id.Rule);


    startBtn.setOnClickListener(new View.OnClickListener()

    {

        @Override

        public void onClick(View v)

        {

            Timer();

            Timer();

            Timer();

            Timer();

            Timer();

        }

    });

}


public void Timer()

{

    Handler handler = new Handler();

    handler.postDelayed(new Runnable() {

        @Override

        public void run() {

            item.setText(ruleOut(rulesList));

        }

    }, 5000);

}

我一直无法找到任何东西或为此解决任何问题,因此非常感谢任何帮助。我确定我会遗漏一些明显的东西。谢谢你。


哈士奇WWW
浏览 172回答 2
微课
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答