为了账号安全,请及时绑定邮箱和手机立即绑定

在特定时间停止 for 循环并在 Glide 中调整图像

在特定时间停止 for 循环并在 Glide 中调整图像

互换的青春 2021-11-17 14:38:03
我正在生成从服务器获取图像并在 Glide 中显示的齐射请求。我使用 for 循环解析响应并在 Glide 中显示图像。我想显示第一个图像,5/10 秒后我想用 index.js 更改它。我面临的问题是,当 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();                            }我如何停止 for 循环 10 秒并在下一个索引的滑行中粘贴图像。
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

可能这会有所帮助。


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.

      }


        }

我希望这可以帮助你。


查看完整回答
反对 回复 2021-11-17
?
智慧大石

TA贡献1946条经验 获得超3个赞

简单的 hack 是在并行线程中运行 for 循环,并在每次迭代结束时调用 sleep(5000)。

更优雅且更适合android的更复杂的解决方案是使用AlarmManager,以便您可以设置重复任务,每5秒更改一次图像。


查看完整回答
反对 回复 2021-11-17
  • 2 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信