1

私はAndroidプログラミングが初めてです。このトピックに関するすべての回答を検索しましたが、それでもやりたいことを実装できません。私の問題は、特定の期間にイメージビューの画像を別の画像で更新したいということです。イメージビューは、毎回異なる画像で合計 15 ~ 20 回更新する必要があります。これが私がこれまで行ってきたことですが、まったく機能していません。

public class IlkMasal extends Activity {

    MediaPlayer sound;
    private Handler m_handler;
    private ImageView image;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.firsttale);
        m_handler = new Handler();


    Button menu = (Button)findViewById(R.id.Button01);
    Button startbutton = (Button)findViewById(R.id.button1);

    sound = MediaPlayer.create(this, R.raw.music4);
    sound.start();
    image = (ImageView)findViewById(R.id.imageView1);
    image.setImageResource(R.drawable.picture2);

    startbutton.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            m_handler.removeCallbacks(m_statusChecker);
            m_handler.postDelayed(m_statusChecker, 2000);
        }
    });

    menu.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Intent main= new Intent("android.intent.action.MAIN");
            startActivity(main);
        }  
    });

    }

    Runnable m_statusChecker = new Runnable()
    {
        public void run(){
            image.setImageResource(R.drawable.picture3);
            m_handler.removeCallbacks(m_statusChecker);
            m_handler.postDelayed(m_statusChecker, 2000);
        }
    };
}

startbutton をクリックした後、毎回異なる画像で UI を更新したいと考えています。私はあなたの助けに感謝します。

4

2 に答える 2

2

このランナブルを onClic で実行するように設定できますが、表示する次の画像を取得するためのメソッドが必要になります。

final int delay = 5000;
final int period = 1000;
final Runnable r = new Runnable() {
   public void run() {
    image.setImageResource(getNextPicture());
    postDelayed(this, period);
   }
 };

postDelayed(r, delay);

よろしく。

于 2012-07-11T08:04:14.410 に答える
0

非 Ui スレッドから UI 要素を更新するためにrunOnUiThreadを使用します。

    Current_Activity.this.runOnUiThread(new Runnable() {

     @Override
     public void run() {
      // TODO Auto-generated method stub
      image.setImageResource(R.drawable.picture3); //Update UI elements here
     }
    });
于 2012-07-11T07:58:51.130 に答える