0

ImageViewAndroidで1秒ごとに表示してから、1秒間非表示にして、もう一度1秒間表示し、無期限に繰り返すにはどうすればよいですか?以下のテクニックを使ってみました。私はただの初心者です。

ImageView v=(ImageView)findViewbyID(R.id.mypic);
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("ss");
if(sdf.format(d)%2==0)
    v.setVisibility(View.INVISIBLE); 

上記のコードは、画像を非表示にするだけで、継続的に実行されません。

4

2 に答える 2

1

カウントダウンタイマーを使ってみてください

new CountDownTimer(300000, 1000) {

     boolean visible = true;
     public void onTick(long millisUntilFinished) {
           ImageView v=(ImageView)findViewbyID(R.id.mypic);
           if(visible)
               v.setVisibility(View.INVISIBLE); 
           else
               v.setVisibility(View.VISIBLE); 

            visible = !visible;
     }

     public void onFinish() {

     }
  }.start();

または、ハンドラーを使用することもできます

Handler handler=new Handler()
    {
        boolean visible = true;
        @Override
        public void handleMessage(Message msg)
        {
               ImageView v=(ImageView)findViewbyID(R.id.mypic);
               if(visible)
                    v.setVisibility(View.INVISIBLE); 
               else
                    v.setVisibility(View.VISIBLE); 

            visible = !visible;
        handler.sendEmptyMessageDelayed(0, 1000);

      }
    };
    handler.sendEmptyMessage(0);
于 2012-12-16T19:29:21.853 に答える
0
public Void Handle {
    new Handler().postDelayed(new Runnable() {
    boolean visible = true;
       public void run() {
      final ImageView v = (ImageView)findViewById(R.id.mypic);

      if(visible)
           v.setVisibility(View.INVISIBLE); 
       else
           v.setVisibility(View.VISIBLE); 

              }
  }, 100);

      Handle();
}
于 2012-12-16T19:38:18.393 に答える