猿问

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

我正在生成从服务器获取图像并在 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 秒并在下一个索引的滑行中粘贴图像。


互换的青春
浏览 172回答 2
2回答

米琪卡哇伊

可能这会有所帮助。int CODE_PAUSE_TIME = 3000; //IN MILLISECfor(int i = 0; i<10; i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Write your code here before there is a pause&nbsp; &nbsp; &nbsp; try{&nbsp; &nbsp; &nbsp; &nbsp; Thread.sleep(CODE_PAUSE_TIME);&nbsp; &nbsp; &nbsp; }catch(Exception e){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//write your code here after there is a pause.&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }我希望这可以帮助你。

智慧大石

简单的 hack 是在并行线程中运行 for 循环,并在每次迭代结束时调用 sleep(5000)。更优雅且更适合android的更复杂的解决方案是使用AlarmManager,以便您可以设置重复任务,每5秒更改一次图像。
随时随地看视频慕课网APP

相关分类

Java
我要回答