1

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

这是一些示例代码:

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

感谢您的帮助。

4

1 回答 1

0

ViewFlipper 没有内置方法可以让您轻松做到这一点。尽管如此,仍然可以通过几种方式做到这一点。

您拥有的一个选项是使用可运行的“沿边运行”您的 ViewFlipper,因为您的间隔是已知的,您可以设置一个递归可运行的,它也将使用 5000 毫秒的间隔使事情与视图同时发生变化。

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 的每次迭代都会为你翻转视图,你可以随它做任何你想做的事情。

于 2012-07-23T21:41:05.547 回答