2012-07-11 52 views
1

我是新来的android编程,我搜索了关于这个主题的所有答案,但仍然无法实现我想要做的事情。我的问题是:我想在给定期间用另一张图片在图像查看中更新图片。 imageview需要每次更新不同的图片,总共15-20次。这是我迄今为止所做的,但它根本不工作。更新android用户界面定时器

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

当我点击开始按钮后,我想每次更新不同的图片用户界面。我会感谢你的帮助。

+0

你可以设置一个答案为正确的,如果它帮助你:) – Goofyahead 2012-08-06 10:20:58

回答

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

问候。

+1

为什么-1?没有评论?最好知道我是否误会了某些东西:) – Goofyahead 2012-07-26 11:13:52