我有一个关于android中的网格视图的问题。我有一个由5x5图像组成的网格。我想不断地改变这些图像。每次从数组中加载新的图像集。我有一个随机生成器函数,它在每次加载后更改mThumbIds数组的值。但是我无法在需要一些事件来渲染新的图像集之前应用新的图像。在这里我没有任何事件。我希望它们不断变化。你能让我高兴吗。找不到任何解决方案。
发布于 2012-11-04 07:50:43
你有没有尝试过使用AsyncTask来改变你的图像?AsyncTask可以更改一个图像,然后启动一个新的AsyncTask。
另一种选择是使用处理程序。实际上,这可能是你最好的选择。http://mobileorchard.com/android-app-developmentthreading-part-1-handlers/
发布于 2012-11-04 08:00:25
你的意思是每2秒触发一次图像转换功能的定时器吗?如果是这样,请尝试使用处理程序。就像这样
private Handler mHandler = new Handler();
public void onCreate(Bundle savedInstanceState) {
// init grid and set first batch of images
}
protected void onResume() {
mHandler.postDelayed(mUpdateImagesTask , 2000);
}
private Runnable mUpdateImagesTask = new Runnable() {
public void run() {
// Code to change the images
// call me in 2 seconds...
mHandler.postDelayed(this, 2000); // 2 seconds
}
};如果你想停止循环,只需设置一些条件在mUpdateImagesTask内部调用Handler.postDelayer(),或者从Runnable外部调用mHandler.removeCallbacks(mUpdateImagesTask) (点击一下按钮即可)。
https://stackoverflow.com/questions/13214582
复制相似问题