ron*_*nie 2 android android-viewpager
我正在尝试更新课外的图像pageradapter,但它无法正常工作.我通过其他方式实现了它,但它没有效率.
int pos = mPager.getCurrentItem();
mAdapter.notifyDataSetChanged();
mPager.setAdapter(mAdapter);
mPager.setCurrentItem(pos);
Run Code Online (Sandbox Code Playgroud)
显示其效果需要花费大量时间,其他任何方式都将受到高度赞赏.我有近20个图像,所以我无法删除并重新安排视图.我正在尝试更新图像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);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 8
初始化视图时可以使用'setTag'(Object tag)方法 - 'PageAdapter'中的'instantiateItem()',然后通过'findViewWithTag(Object tag)'获取该视图
| 归档时间: |
|
| 查看次数: |
4033 次 |
| 最近记录: |