1

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

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

如果 case 条件为真,则button.performclick在当前焦点按钮上。

谁能说一个结构或程序代码?我搜索了很多,但我无法理解。

4

1 回答 1

1

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

在此类中,您只需更改当前按钮焦点,并再次调用 postDelayed() 方法,延迟时间 (2000)。

代码 :

在您的活动中:

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

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

可运行类(内部类):

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);
    }

}

这并不完整,但给你一个全局的想法。

于 2013-05-29T08:26:49.760 回答