在定时视图中执行代码翻转Android

时间:2012-07-23 20:45:37

标签: android view timer

我正在编写一个类似于幻灯片放映的应用程序,并使用以5秒的间隔翻转的viewflipper。我是android新手,想知道,有什么方法可以在每个视图翻转时执行代码吗?此代码将更新布局对象,例如文本框中的文本。

以下是一些示例代码:

vf=(ViewFlipper)findViewById(R.id.ViewFlipper01); 
vf.setFlipInterval(5000);       
vf.startFlipping();`

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

ViewFlipper内置的方法无法让您轻松完成。尽管如此,它仍然可以通过几种方式实现。

你有一个选择是使用runnable来“运行ViewFlipper”,因为你的间隔是已知的,你可以设置一个递归的runnable,它也会使用5000ms的间隔来同时发生观点正在改变。

vf=(ViewFlipper)findViewById(R.id.ViewFlipper01); 
vf.setFlipInterval(5000);       
Runnable r = new Runnable() {
    @Override
    public void run(){
        //Do something here

        vf.postDelayed(r,5000);
    }
}
vf.postDelayed(r, 5000);
vf.startFlipping();

另一种方法是放弃通过startFlipping()自动翻转,而是在其中使用vf.showNext()这样的runnable。这样,runnable的每次迭代都会为你翻转视图,你可以随意做任何其他的事情。