更新 viewPager 时发生 ANR
ANR Happend when updating viewPager
我在尝试更新图像查看寻呼机时遇到 ANR 问题。有人有想法吗?下面是我的代码。我怀疑当我执行 setcurrentItem 时得到这个 ANR : Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 5.
private void setRelavantColourPic(ValueList valueList){
if(valueList.getPictureId() != 0 && productImages != null && productImages.size() > 0){
i = 0;
for (ProductPictureList productPictureList : productImages ){
int pictureId = Integer.parseInt(productPictureList.getPictureId());
i ++;
if(pictureId == valueList.getPictureId()){
foundIndex = i-1;
}
}
mDelayHandler.postDelayed(
mRunnable = new Runnable() {
@Override
public void run() {
mProductImageViewPager.setCurrentItem(foundIndex);
}
}, 1);
// mDelayHandler.post(mRunnable);
}
}
我认为是递归阻塞了主线程。尝试删除以下语句,
mDelayHandler.post(mRunnable);
它会起作用。
我在尝试更新图像查看寻呼机时遇到 ANR 问题。有人有想法吗?下面是我的代码。我怀疑当我执行 setcurrentItem 时得到这个 ANR : Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 5.
private void setRelavantColourPic(ValueList valueList){
if(valueList.getPictureId() != 0 && productImages != null && productImages.size() > 0){
i = 0;
for (ProductPictureList productPictureList : productImages ){
int pictureId = Integer.parseInt(productPictureList.getPictureId());
i ++;
if(pictureId == valueList.getPictureId()){
foundIndex = i-1;
}
}
mDelayHandler.postDelayed(
mRunnable = new Runnable() {
@Override
public void run() {
mProductImageViewPager.setCurrentItem(foundIndex);
}
}, 1);
// mDelayHandler.post(mRunnable);
}
}
我认为是递归阻塞了主线程。尝试删除以下语句,
mDelayHandler.post(mRunnable);
它会起作用。