1

嘿。我刚开始使用安卓。我正在使用带有 2 个 LinearLayouts 的 ViewFlipper 布局。第一个布局有一个切换到第二个布局的按钮。我想添加一个计时器,它会在 3000 毫秒后切换到第一个布局。我尝试使用 Thread 但它不起作用(无法与其他线程的 UI 元素通信)。

我的代码:

公共类测试扩展活动{

ViewFlipper f;
LinearLayout l1;
LinearLayout l2;
Button b1;

Thread s;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    f = (ViewFlipper) findViewById(R.id.f);
    l1 = (LinearLayout) findViewById(R.id.l1);
    l2 = (LinearLayout) findViewById(R.id.l2);
    b1 = (Button) findViewById(R.id.b1);

    updateSwitch = new Thread() {
        @Override
        public void run() {
            try {sleep(3000);
            } catch (InterruptedException e) {
            } finally {f.showPrevious();}
        }
    };

    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            f.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.push_left_in));
            lFlipper.showNext();
            updateSwitch.start();
        }
    });
}

}

我的猜测是我需要某种将新线程与主线程连接起来的处理程序。请更新我的代码。谢谢 10 倍。

4

1 回答 1

2

您需要阅读有关从计时器更新 UI的技术文章

于 2010-07-23T12:06:13.593 回答