我创建了一个有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();
}
}});
答案 0 :(得分:3)
我得到了线索,我是通过使用主runonUIthread
完成的