Android 我希望布局的childview随mediaplayer currentposition自动更改

Android 我希望布局的childview随mediaplayer currentposition自动更改,android,android-layout,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()

我已经创建了一个具有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();



        }




        }});
B5.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
如果(B5.isChecked()){
新线程(newrunnable()){
公开募捐{
而(mediaPlayer!=null&&j2000)&&(j43000)&(j72000)&(j101000)&(j130000)&(j160000)&(j189000)&(j220000)&(j251000)&(j280000))
{vf1.setDisplayedChild(0);}
}捕捉(中断异常e){
返回;
}捕获(例外e){
返回;
}            
}
}
}).start();
}
}});

我得到了线索,我通过使用主rununuithread来执行它

如果我将所有if语句保留在线程循环之外,那么它将与单击操作按钮一起工作,但我希望“一旦我检查了切换按钮B5,基于j对应的if语句/setdisplayedchild应该执行的当前值”。我应该写下全部代码吗?请建议。