使用计时器显示图像不起作用

时间:2012-07-13 23:05:08

标签: android

你好,当我点击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;

我遇到的问题是它不起作用。有什么帮助吗?

2 个答案:

答案 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