我希望布局的子视图能够在媒体播放器当前位置自动更改

时间:2011-09-04 09:26:42

标签: android android-layout

我创建了一个有9个子视图的viewflipper vf1。

按钮B5的onclick方法创建一个更新mediaplayercurrent位置值的线程。我想使用mediaplayer的当前位置更改auto中线性布局的子视图,但if语句不起作用。

B5.setOnClickListener(new View.OnClickListener(){         
    public void onClick(View v){            

        if(B5.isChecked()){         


     new Thread(new Runnable() {

             public void run() {
                 while(mediaPlayer!=null&&j<mediaPlayer.getDuration()){
                     try {
                         Thread.sleep(1000);
                         j= mediaPlayer.getCurrentPosition();


                         if((j>2000)&&(j<43000))
                        {vf1.setDisplayedChild(4);}
                    if((j>43000)&&(j<72000))
                        {vf1.setDisplayedChild(1);}
                    if((j>72000)&&(j<101000))
                    {vf1.setDisplayedChild(2);}
                    if((j>101000)&&(j<130000))
                    {vf1.setDisplayedChild(3);}
                    if((j>130000)&&(j<160000))
                    {vf1.setDisplayedChild(4);}
                    if((j>160000)&&(j<189000))
                    {vf1.setDisplayedChild(5);}
                    if((j>189000)&&(j<220000))
                    {vf1.setDisplayedChild(6);}
                    if((j>220000)&&(j<251000))
                    {vf1.setDisplayedChild(7);}
                    if((j>251000)&&(j<280000))
                    {vf1.setDisplayedChild(8);}
                    if((j>280000))
                    {vf1.setDisplayedChild(0);} 


                     } catch (InterruptedException e) {
                         return;
                     } catch (Exception e){
                         return ;
                     }            

                 }
             }
           }).start();



        }




        }});

1 个答案:

答案 0 :(得分:3)

我得到了线索,我是通过使用主runonUIthread

完成的