android – 如何在一段时间后更改imageView上的图像

我有一个问题,我想在 Android上的ImageView上粘贴图像,并且在一段时间后定期更改图像.表示ImageView中显示的逐个图像.我在Java的帮助下这样做但是我遇到了一些问题,即Thread没有附加什么.请查看下面给出的代码并告诉我确切的错误以及如何删除该错误或给我一些不同的方法来做到这一点.

package com.ex.thread;

import com.ex.thread.R;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;

public class thread extends Activity implements Runnable{
/** Called when the activity is first created. */
public static Integer[] mThumbIds = {

   R.drawable.al1,R.drawable.al2,R.drawable.al3,R.drawable.al4,};
Thread th;
ImageView iv;
public void run()
{
    for(int i=0;i<3;i++)
    {
        iv.setImageResource(mThumbIds[i]);
        System.out.println("Sanat Pandey");
        try{
            Thread.sleep(3000);
        }catch(Exception e)
        {
            System.out.println(e);
        }
    }
}
public void create()
{
    Thread th = new Thread(new thread());
    th.start();
    try{
        Thread.sleep(3000);
    }catch(Exception e)
    {
        System.out.println(e);
    }
}

@Override
public void onCreate(Bundle savedInstace)
{
    super.onCreate(savedInstace);
    setContentView(R.layout.main);
    create();
}
}

解决方法

您不能在后台UI线程中使用UI线程.所以这个电话:

iv.setImageResource(mThumbIds[i]);

必须在主线程中完成.事实上,您可能根本不需要后台线程来获得您正在寻找的效果.你可以只做一个活动,不需要实现runnable.然后做这样的事情:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    iv = (ImageView) findViewById(R.id.yourImageViewID);
    int i = 0;
    Runnable r = Runnable(){
        public void run(){
             iv.setImageResource(mThumbIds[i]);
             i++;
             if(i >= mThumbIds.length){
                 i = 0;
             }
             iv.postDelayed(r,3000); //set to go off again in 3 seconds.
         }
    };
    iv.postDelayed(r,3000); // set first time for 3 seconds

相关文章

AdvserView.java package com.earen.viewflipper; import an...
ImageView的scaleType的属性有好几种,分别是matrix(默认)...
文章浏览阅读8.8k次,点赞9次,收藏20次。本文操作环境:win1...
文章浏览阅读1.2w次,点赞15次,收藏69次。实现目的:由main...
文章浏览阅读3.8w次。前言:最近在找Android上的全局代理软件...
文章浏览阅读2.5w次,点赞17次,收藏6次。创建项目后,运行项...