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



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

以下是一些示例代码:

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

谢谢你的帮助。

ViewFlipper没有内置的方法可以让您轻松地做到这一点。不过,仍有可能通过几种方式来实现。

一种选择是使用ViewFlipper的可运行程序"沿边运行",因为您的间隔是已知的,所以您可以设置一个递归可运行程序,该程序也将使用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()的可运行程序。这样,可运行程序的每次迭代都会为您翻转视图,您可以同时执行任何其他操作。

最新更新