Остановка цикла for на определенное время и настройка изображений в Glide
Я генерирую запрос залпа, который выбирает изображения с сервера и отображается в Glide. Я использую цикл для анализа ответа и отображения изображений в Glide. Я хочу, чтобы изображение отображалось один раз, и через 5/10 секунд я хочу изменить его на индекс. Проблема, с которой я сталкиваюсь, заключается в том, что когда цикл for начинает отображать изображение, которое находится в последнем индексе. мю код:
StringRequest fetchingAddsForMainScreen= new StringRequest(URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
int counter=0;
try {
JSONObject object= new JSONObject(response);
JSONArray jsonArray=object.getJSONArray("slots");
for (int i=0;i<jsonArray.length();i++)
{
JSONObject jsonObject=jsonArray.getJSONObject(i);
String packageFullName=jsonObject.getString("adurl");
System.out.println("Package Full Name is:"+packageFullName);
String packageName = packageFullName.substring(packageFullName.indexOf("?")+3, packageFullName.length() );
System.out.println("Package Name is:"+packageName);
Glide.with(getApplicationContext()).load(jsonObject.getString("imgurl")).into(iVAddOne);
counter++;
if (counter==1)
{
Toast.makeText(MainActivity.this, "one Time counter", Toast.LENGTH_SHORT).show();
//break;
}
else if (counter==2)
{
Toast.makeText(MainActivity.this, "Two Time counter", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(MainActivity.this, "many Time counter", Toast.LENGTH_SHORT).show();
}
Как я могу остановить цикл на 10 секунд и вставить изображение в слайд для следующего индекса.
2 ответа
Может быть, это поможет.
int CODE_PAUSE_TIME = 3000; //IN MILLISEC
for(int i = 0; i<10; i++){
//Write your code here before there is a pause
try{
Thread.sleep(CODE_PAUSE_TIME);
}catch(Exception e){
//write your code here after there is a pause.
}
}
Я надеюсь, это поможет вам.
Простой способ - запустить цикл for в параллельном потоке и вызвать sleep(5000) в конце каждой итерации.
Более сложное решение, которое более элегантно и лучше подходит для Android, заключается в использовании AlarmManager, чтобы вы могли установить повторяющуюся задачу, которая будет изменять изображение каждые 5 секунд.