1
我正在嘗試更新pageradapter
類以外的圖像,但它不起作用。我通過其他方式取得了成功,但效率不高。如何在PageAdapter之外更新ViewPager的視圖?
int pos = mPager.getCurrentItem();
mAdapter.notifyDataSetChanged();
mPager.setAdapter(mAdapter);
mPager.setCurrentItem(pos);
它需要很多時間來顯示其效果,任何其他方式將不勝感激。我有近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);
}
}
對圖像視圖我需要settag ?? – ronie 2013-03-27 16:24:39
setTag到您的視圖V '@覆蓋 公共對象instantiateItem(View容器,最終詮釋位置){ 視圖v = getLayoutInflater()膨脹(R.layout.pager_item,NULL); v.setTag(「pos」+ position); ... }' 並獲得鑑於 '的視圖V = mAdapter.findViewWithTag( 「POS」 +指數);' 並更新你以V想要的東西: 'ImageView的ivBackground =(ImageView的)V .findViewById (R.id.pager_image);' 建議您使用帶FragmentStatePagerAdapter/FragmentPagerAdapter的Fragment – 2013-03-28 03:13:59
謝謝! setTag和getTag的想法工作 – ronie 2013-03-28 14:24:44