Я новичок в разработке, поэтому хочу задать этот вопрос, извините, если это глупо
У меня есть 6 разных ImageView и 6 образов, как я могу установить образы в ImageView, чтобы они появлялись при щелчке один за другим с некоторой задержкой, например, в 1 секунду? Теперь они появляются все вместе одновременно
private int[] images;
private int[] containers;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
images = new int[] {R.drawable.wale,
R.drawable.btrfly,
R.drawable.cat,
R.drawable.dog,
R.drawable.fish,
R.drawable.dolphin};
containers = new int[] {R.id.container1,
R.id.container2,
R.id.container3,
R.id.container4,
R.id.container5,
R.id.container6};
for (int i = 0; i<containers.length; i++) {
final ImageView temp = findViewById(containers[i]);
temp.setImageResource(R.drawable.placeholder);
}
Button load = findViewById(R.id.btnLoad);
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for ( int i =0; i<containers.length; i++) {
final ImageView temp = findViewById(containers[i]);
temp.setImageResource(images[i]);
}
}
});
}
Кажется, отсутствует начало метода - это onCreate ()?
Да, это onCreate
Я отредактировал недостающую часть в. Пожалуйста, исправьте это, если что-то не так
еще раз спасибо! Я отредактировал небольшую часть, и теперь все работает нормально! Спасибо!
Вы можете использовать postDelayed() из android.os.Handler следующим образом:
final int baseDelay = 1000;
final Handler handler = new Handler();
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for (int i = 0; i < containers.length; i++) {
final int ifinal = i;
handler.postDelayed(new Runnable(){
public void run(){
final ImageView temp = findViewById(containers[ifinal]);
temp.setImageResource(images[ifinal]);
}
}, i * baseDelay);
}
}
});
Большое спасибо за помощь! Я попробую!
@YuryPilath - вот что произойдет, если я напишу код без IDE: спасибо за правку :)
Добро пожаловать в Stack Overflow (я заметил, что это ваш первый день здесь). Пожалуйста, покажите код, чтобы мы могли лучше понять вашу ситуацию (у меня уже есть некоторое общее представление, но я хочу убедиться, что я прав, а не гадал)