我想在延迟后显示其他图像。这是我的代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView=findViewById(R.id.imageView);
ArrayList<String> test = new ArrayList<String>();
test.add("e");
test.add("a");
if (test.get(0) == "e") {
Glide.with(this)
.load("https://something.something/something.jpg")
.into(imageView);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (test.get(1) == "a") {
Glide.with(this)
.load("https://something.something/something2.jpg")
.into(imageView);
}
}
}
但是如果我这样做的话,只有第二张图片适用。有解决方案吗?
创建新方法
private void loadImage(String imageLink){
Glide.with(this).load(imageLink).into(imageView);
}
现在只需在要在同一imageView中加载第一张图像和第二张图像的位置调用此名称
loadImage("imageLink");
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 3sec
loadImage("next ImageLink");
}
}, 3000);
类似的事情,您还可以修改loadImage方法,以便如果要延迟将图像加载到其他ImageView中,它也可以接受ImageView作为参数
if (test.get(0) == "e") {
loadImage("https://something.something/something.jpg");
}
if (test.get(1) == "a") {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 3sec (3000 = 3 sec)
loadImage("https://something.something/something2.jpg");
}
}, 3000);
}
希望这会有所帮助!
如果要同时加载两个图片,请延迟使用
if (test.get(0) == "e") {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 3sec (3000 = 3 sec)
loadImage("https://something.something/something.jpg"); // image 1
}
}, 3000);
}
if (test.get(1) == "a") {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 3sec (3000 = 3 sec)
loadImage("https://something.something/something2.jpg"); // image 2
}
}, 3000);
}