gpt4 book ai didi

android - 如何在 PageAdapter 之外更新 ViewPager 的 View ?

转载 作者:太空狗 更新时间:2023-10-29 15:54:31 26 4
gpt4 key购买 nike

我正在尝试更新 pageradapter 类之外的图像,但它不起作用。我已经通过其他方式做到了,但是这样做效率不高。

int pos = mPager.getCurrentItem();
mAdapter.notifyDataSetChanged();
mPager.setAdapter(mAdapter);
mPager.setCurrentItem(pos);

它需要很长时间才能显示其效果,任何其他方式将不胜感激。我有将近 20 多张图片,所以我无法删除和恢复 View 。我正在尝试从 options menu 更新图像。期待答案或建议。谢谢!

这是我的代码

public class pageAdapter extends PagerAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return Global.imageList.length;
}

@Override
public boolean isViewFromObject(View view, Object object) {
// TODO Auto-generated method stub
return view.equals(object);
}
@Override
public Object instantiateItem(View container, final int position) {
// TODO Auto-generated method stub

View v = getLayoutInflater().inflate(R.layout.pager_item, null);
ImageView ivBackground = (ImageView) v
.findViewById(R.id.pager_image);

final ImageView ivFavorite = (ImageView) v
.findViewById(R.id.fav_image);


ivFavorite.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

if (!helper.isExist(Global.imageList[position])) {

int i = helper.insertFavourites(Global.imageList[position]);

if (i != -1) {

ivFavorite.setImageResource(R.drawable.fav_selected);
}
} else {

if (helper.removeFavorite(Global.imageList[position])) {

ivFavorite .setImageResource(R.drawable.fav_unselected);

}
}

}
});
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
Global.imageList[position]);

ivBackground.setImageBitmap(bitmap);

((ViewPager) container).addView(v, 0);
return v;

}

@Override
public void destroyItem(View container, int position, Object object) {
// TODO Auto-generated method stub
((ViewPager) container).removeView((View) object);
}

}

最佳答案

您可以在初始化 View 时使用“setTag”(对象标签)方法 - 在“PageAdapter”中使用“instantiateItem()”,然后通过“findViewWithTag(对象标签)”获取该 View

关于android - 如何在 PageAdapter 之外更新 ViewPager 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15661044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com