0

您好,当我在“开始”选项中单击菜单充气机时,我需要在 5 秒内显示 12 个图像。

我创建了一个显示图像的方法:

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;   
    }

在“充气机”中:

 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;

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

4

2 回答 2

1

我认为您在这两种情况下都设置了 setVisibility(View.INVISIBLE)。所以总是不可见,你需要改变其中之一

于 2012-07-13T23:07:33.723 回答
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

于 2012-07-13T23:15:27.853 回答