如何在android中动态更新或更改imageview的图像?

如何在android中动态更新或更改imageview的图像?,android,Android,是否可以使用计时器或线程在特定时间内用不同的图像更新我的imageview?您好,请检查这篇文章这里是imageview在imageview中显示图像的示例 以下是在imageview中设置图像的主要部分 imgView.setImageResource(R.drawable.xxx); 使用上面的代码将图像设置为图像视图,并使用一个线程,该线程可以更改UI中的内容,尤其是类似这样的内容 public void onClick(View v) { new Thread(new Runnab

是否可以使用计时器或线程在特定时间内用不同的图像更新我的imageview?

您好,请检查这篇文章这里是imageview在imageview中显示图像的示例

以下是在imageview中设置图像的主要部分

imgView.setImageResource(R.drawable.xxx);
使用上面的代码将图像设置为图像视图,并使用一个线程,该线程可以更改UI中的内容,尤其是类似这样的内容

public void onClick(View v) {
 new Thread(new Runnable() {
   public void run() {
     ImageView image = (ImageView) findViewById(R.id.test_image);
    image.setImageResource(R.drawable.xxx);
   }
  }).start();
}

您只需设置图像URI:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
            Uri uri;
            if (data != null) {
                uri = data.getData();
                iv030.setImageURI(uri);
                Toast.makeText(getApplicationContext(),uri.toString(),Toast.LENGTH_SHORT).show();
            }
        }
    }
val-button=findviewbyd(R.id.button)
val图像=findViewById(R.id.test\u图像)
button.setOnClickListener{
Log.i(“信息”,“按钮按下”)
image.setImageResource(R.drawable.test_image2)
}

尝试使用
setImageResource()
方法动态更改图像。添加可绘制图像引用作为参数以更改图像

下面给出了示例代码

package com.vsoft.imagechanger;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {

 ImageView ChangeImage;
 Button ChangeButton;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 
    ChangeButton = (Button)findViewById(R.id.button1);
    ChangeImage = (ImageView)findViewById(R.id.imageView1);
 
    ChangeButton.setOnClickListener(new View.OnClickListener() {
 
       @Override
       public void onClick(View v) {
          //ChangeImage.setImageResource(R.drawable.xxx);
          ChangeImage.setImageResource(R.drawable.imageView2)
       }
    });
 }
}

是,这是用于更新图像的。例如,无论您想显示什么图像,都可以访问R.drawable。这将在线程或任何计时器代码中传递。这行代码正在使用iti我想在20秒内使用计时器或线程更改imageview中的8个图像。我完成了iot,但没有更新UI。因此,在设置资源invalidateDrawable(Drawable dr)后,只有第一个图像显示此代码我想使用计时器或线程在20秒内更改imageview中的8个图像。我完成了iot,但没有更新UI。因此只显示第一个图像。我希望没有任何按钮点击或任何事件,此代码将只更新一次。我想用不同的images.timer.scheduleAtFixedRate(new TimerTask(){public void run(){//Task here…},delay,period)更新它8次;使用此代码设置重复任务…问题是关于使用计时器或线程更新ImageView。您的答案无关紧要。问题是关于频繁更改图像此图像更新仅用于一次。。但您可以使用“布尔”来切换图像
val button = findViewById<Button>(R.id.button)
val image = findViewById<ImageView>(R.id.test_image)

button.setOnClickListener{
    Log.i("Info", "Button Pressed")
    image.setImageResource(R.drawable.test_image2)
}
package com.vsoft.imagechanger;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {

 ImageView ChangeImage;
 Button ChangeButton;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 
    ChangeButton = (Button)findViewById(R.id.button1);
    ChangeImage = (ImageView)findViewById(R.id.imageView1);
 
    ChangeButton.setOnClickListener(new View.OnClickListener() {
 
       @Override
       public void onClick(View v) {
          //ChangeImage.setImageResource(R.drawable.xxx);
          ChangeImage.setImageResource(R.drawable.imageView2)
       }
    });
 }
}