Android-使用ImageView显示一系列图像
我尝试使用计时器在单个图像视图中显示一系列png图像,例如每1秒更改一次图片 应用程序不断崩溃,这是我的代码,请帮助。 main.xml中有ImageView,出于某种原因,我无法在此发布完整的xml文件。无论如何,它只是一个标准的main.xml,在线性布局中有额外的ImageViewAndroid-使用ImageView显示一系列图像,android,image,timer,imageview,series,Android,Image,Timer,Imageview,Series,我尝试使用计时器在单个图像视图中显示一系列png图像,例如每1秒更改一次图片 应用程序不断崩溃,这是我的代码,请帮助。 main.xml中有ImageView,出于某种原因,我无法在此发布完整的xml文件。无论如何,它只是一个标准的main.xml,在线性布局中有额外的ImageView public class AniImgTest extends Activity { ImageView iv; public int i=0; Timer timer = new T
public class AniImgTest extends Activity {
ImageView iv;
public int i=0;
Timer timer = new Timer();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.iv=(ImageView)findViewById(R.id.imageView1);
timer.scheduleAtFixedRate(new TimerTask(){
@Override
public void run() {
Log.v("","myDebug "+i);
if(i<2)
i++;
else
i=0;
switch(i){
case 0:iv.setImageResource(R.drawable.a1);
break;
case 1:iv.setImageResource(R.drawable.a2);
break;
case 2:iv.setImageResource(R.drawable.a3);
break;
}
}
}, 0, 5000);
}
}
您的任务运行在与主线程不同的线程上,因此它无法更改GUI并导致崩溃。用于在主线程上执行这些任务 还有一件事是不相关的,但是…,而不是:
if(i<2)
i++;
else
i=0;
switch(i){
使用此代码块更改UI组件
AniImgTest.this.runOnUiThread(new Runnable() {
public void run() {
// change your image here.
}
});
您应该添加stacktraceHi a380,欢迎使用stackoverflow。您也可以添加代码和xml内容,但需要将其标记为代码。请参见文本编辑框上方的选项栏,或者标记代码/xml并按ctrl+k
AniImgTest.this.runOnUiThread(new Runnable() {
public void run() {
// change your image here.
}
});