我正在生成齐射请求,该请求从服务器获取图像并显示在Glide中。我使用for循环解析响应并在Glide中显示图像。我想显示一张图像,然后在5/10秒后我要用索引更改它。我面临的问题是,当for循环启动时,其显示图像位于最后一个索引上。 mu代码是:
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秒钟并滑动图像以粘贴下一个索引。
答案 0 :(得分:0)
简单的方法是在并行线程中运行for循环,并在每次迭代结束时调用sleep(5000)。
更复杂,更优雅,更适合android的解决方案是使用AlarmManager,以便您可以设置重复任务,该任务每5秒更改一次图像。
答案 1 :(得分:0)
可能会有所帮助。
VectorDrawableCompat vectorDrawableCompat = VectorDrawableCompat.create(typedArray.getResources(),iconResId, null);
vectorDrawableCompat.draw(canvas);
希望对您有帮助。