0

こんにちは、メニュー インフレータの [開始] オプションをクリックしたときに、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;   
    }

そして、「インフレータ:

 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) を設定したと思います。常に見えないので、そのうちの1つを変更する必要があります

于 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 に答える