Android帮助:通过延迟和执行点击更改按钮的焦点

时间:2013-05-29 08:16:59

标签: android

我刚开始学习Android编程。我正在制作一个可以从外部设备控制的应用程序。我需要4个按钮,它们的焦点会定期更改,延迟时间为2秒。当我按下传感器时,performclick()将完成。我不知道如何实现它。我使用switch case语句来获取传感器数据。如果发生必要的情况,我需要执行单击该按钮。直到这种情况,重点应该是周期性的变化。

例如:按钮1 =>按钮2 =>按钮3 =>按钮4 =>按钮1(焦点改变延迟2秒)

如果大小写条件为真,则在当前关注按钮上显示button.performclick

任何人都可以说结构或程序代码吗?我搜索了很多,但我无法理解。

1 个答案:

答案 0 :(得分:0)

您可以使用postDelayed()方法处理程序。此方法采用实现runnable接口的类。

在这个课程中,您只需更改当前按钮焦点,然后再次调用postDelayed()方法,延迟时间(2000)。

代码:

在您的活动中:

private Handler handler;
private static final int DELAY = 2000;

onCreate()
{
 this.handler = new Handler();
 this.handler.postDelayed(ChangeFocusClass, DELAY);
}

runnable类(内部类):

public class ChangeFocusClass implements Runnable{

    @Override
    public void run() {
        nextButton.requestFocus(); // You need to know which button you have to set focused
        handler.postDelayed(ChangeFocusClass, DELAY);
    }

}

这不完整,但给你一个全球性的想法。