Android ViewFlipper显示在300ms之后

时间:2010-07-23 12:02:49

标签: android timer viewflipper

嘿。我刚开始使用Android。我正在使用带有2个LinearLayouts的ViewFlipper布局。第一个布局有一个切换到第二个布局的按钮。我想添加一个计时器,在3000ms后切换到第一个布局。 我尝试使用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倍。

1 个答案:

答案 0 :(得分:2)

您需要阅读有关Updating the UI from a Timer

的技术文章