2011-09-04 58 views
2

我创建了一个viewflipper vf1有9个childview。我想要一个布局的childview在媒体播放器currentposition自动更改

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

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

如果我把所有的if语句出线回路,然后它的工作原理与点击操作按钮,但我想“有一次我根据j的当前值检查togglebutton B5,如果statement/setdisplayedchild应该执行“。 – manojarora

+0

我应该写下总代码吗?好意提示。 – manojarora

回答

3

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