你好,当我点击Menu Inflater时,我需要在“开始”选项中显示12张图像5秒钟。
我创建了一个显示图像的方法:
private void mostrarImgs() {
if ( ultT < prtT ) {
if (mostrar) {
((ImageView)findViewById(imgIds[ultIndice])).setVisibility(View.INVISIBLE);
}else{
((ImageView)findViewById(imgIds[prmIndice])).setVisibility(View.INVISIBLE);
}
}
mostrar = !mostrar;
}
在'Inflater:
中 public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()){
case R.id.texto1:
Timer cambioImg = new Timer();
cambioImg.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
public void run() {
mostrarImgs();
}
});
}
}, 0, 180 * 1000);
return true;
我遇到的问题是它不起作用。有什么帮助吗?
答案 0 :(得分:1)
我认为你在两种情况下都设置了setVisibility(View.INVISIBLE)。所以始终是不可见的,你需要改变其中一个
答案 1 :(得分:0)
你有:
private void mostrarImgs() {
if ( ultT < prtT ) {
if (mostrar) {
((ImageView)findViewById(imgIds[ultIndice])).setVisibility(View.INVISIBLE);
}else{
((ImageView)findViewById(imgIds[prmIndice])).setVisibility(View.INVISIBLE);
}
}
mostrar = !mostrar;
}
你必须制作其中一个VISIBLE
,否则它们将永远是INVISIBLE