Android 实例化Item方法未在viewpager pageadapter中调用
我使用的是通用ImageLoaderAPI 我想显示图像以查看寻呼机 但是实例化项方法没有调用 这是我的课Android 实例化Item方法未在viewpager pageadapter中调用,android,Android,我使用的是通用ImageLoaderAPI 我想显示图像以查看寻呼机 但是实例化项方法没有调用 这是我的课 package com.primus.taukyuniversalimageloader; import java.util.ArrayList; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.P
package com.primus.taukyuniversalimageloader;
import java.util.ArrayList;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
public class TaukypagerActivity extends BaseActvity {
private static final String STATE_POSITION = "STATE_POSITION";
DisplayImageOptions options;
ViewPager pager;
ArrayList<String> imageUrls;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tauky_image_pager);
imageUrls=new ArrayList<String>();
imageUrls = TaukyImageloader.image_takies;
int pagerPosition = TaukyImageloader.click_position;
// if (savedInstanceState != null) {
// pagerPosition = savedInstanceState.getInt(STATE_POSITION);
// }
options = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.ic_launcher)
.showImageOnFail(R.drawable.ic_launcher)
.resetViewBeforeLoading()
.cacheOnDisc()
.imageScaleType(ImageScaleType.EXACTLY)
.bitmapConfig(Bitmap.Config.RGB_565)
.displayer(new FadeInBitmapDisplayer(300))
.build();
pager = (ViewPager) findViewById(R.id.pager);
ImagePagerAdapter adapter=new ImagePagerAdapter(this,imageUrls);
pager.setAdapter(adapter);
pager.setCurrentItem(pagerPosition);
}
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putInt(STATE_POSITION, pager.getCurrentItem());
}
private class ImagePagerAdapter extends PagerAdapter {
private ArrayList<String> images;
private LayoutInflater inflater;
ImagePagerAdapter(TaukypagerActivity taukypagerActivity, ArrayList<String> images) {
this.images=new ArrayList<String>();
this.images = images;
inflater = getLayoutInflater();
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((View) object);
}
@Override
public int getCount() {
return images.size();
}
@Override
public Object instantiateItem(ViewGroup view, int position) {
Log.i("Loading", "Entered into instatiate....");
View imageLayout = inflater.inflate(R.layout.item_pager_image, view, false);
final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
final ProgressBar spinner = (ProgressBar) imageLayout.findViewById(R.id.loading);
imageLoader.displayImage(images.get(position), imageView, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
spinner.setVisibility(View.VISIBLE);
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
String message = null;
switch (failReason.getType()) {
case IO_ERROR:
message = "Input/Output error";
break;
case DECODING_ERROR:
message = "Image can't be decoded";
break;
case NETWORK_DENIED:
message = "Downloads are denied";
break;
case OUT_OF_MEMORY:
message = "Out Of Memory error";
break;
case UNKNOWN:
message = "Unknown error";
break;
}
Toast.makeText(TaukypagerActivity.this, message, Toast.LENGTH_SHORT).show();
spinner.setVisibility(View.GONE);
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
spinner.setVisibility(View.GONE);
}
});
((ViewPager) view).addView(imageLayout, 0);
return imageLayout;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
@Override
public Parcelable saveState() {
return null;
}
}
}
package com.primus.taukyuniversalimageloader;
导入java.util.ArrayList;
导入android.graphics.Bitmap;
导入android.os.Bundle;
导入android.os.Parcelable;
导入android.support.v4.view.PagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.ProgressBar;
导入android.widget.Toast;
导入com.nostra13.universalimageloader.core.DisplayImageOptions;
导入com.nostra13.universalimageloader.core.assist.FailReason;
导入com.nostra13.universalimageloader.core.assist.ImageScaleType;
导入com.nostra13.universalimageloader.core.assist.simplemageLoadingListener;
导入com.nostra13.universialimageloader.core.display.FadeInBitmapDisplayer;
公共类TaukyPageActivity扩展了BaseActivity{
私有静态最终字符串STATE\u POSITION=“STATE\u POSITION”;
显示图像选项;
查看寻呼机;
ArrayList图像URL;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.tauky_image_pager);
imageUrls=新的ArrayList();
imageUrls=TaukyImageloader.image\u takies;
int pagerPosition=taukymageloader.click_position;
//如果(savedInstanceState!=null){
//pagerPosition=savedInstanceState.getInt(状态位置);
// }
选项=新建DisplayImageOptions.Builder()
.showImageForEmptyUri(R.drawable.ic_发射器)
.showImageOnFail(R.drawable.ic_启动器)
.ResetViewBefore加载()之前
.cacheOnDisc()
.imageScaleType(imageScaleType.Justice)
.bitmapConfig(Bitmap.Config.RGB_565)
.显示器(新FadeInBitmapDisplayer(300))
.build();
pager=(ViewPager)findViewById(R.id.pager);
ImagePagerAdapter适配器=新的ImagePagerAdapter(这是ImageURL);
寻呼机设置适配器(适配器);
pager.setCurrentItem(页面位置);
}
@凌驾
SaveInstanceState上的公共无效(束超出状态){
outState.putInt(STATE_POSITION,pager.getCurrentItem());
}
私有类ImagePagerAdapter扩展了PagerAdapter{
私有数组列表图像;
私人充气机;
ImagePagerAdapter(TaukypagerActivity TaukypagerActivity,ArrayList图像){
this.images=newArrayList();
这个。图像=图像;
充气机=充气机();
}
@凌驾
公共项(视图组容器、int位置、对象){
((ViewPager)容器)。移除视图((视图)对象);
}
@凌驾
public int getCount(){
返回图像。size();
}
@凌驾
公共对象实例化项(视图组视图,int位置){
日志i(“加载”、“进入稳定状态”);
查看图像布局=充气机。充气(R.layout.item\u pager\u图像,视图,false);
最终ImageView ImageView=(ImageView)imageLayout.findViewById(R.id.image);
最终ProgressBar微调器=(ProgressBar)imageLayout.findViewById(R.id.loading);
imageLoader.displayImage(images.get(position)、imageView、选项、新的SimpleImageLoadingListener(){
@凌驾
public void onLoadingStarted(字符串imageUri,视图){
spinner.setVisibility(View.VISIBLE);
}
@凌驾
public void onload失败(字符串imageUri、视图视图、失败原因){
字符串消息=null;
开关(failReason.getType()){
案例IO_错误:
message=“输入/输出错误”;
打破
案例解码错误:
message=“图像无法解码”;
打破
案件被驳回:
message=“下载被拒绝”;
打破
大小写输出\u\u内存:
message=“内存不足错误”;
打破
案件未知:
message=“未知错误”;
打破
}
Toast.makeText(TaukypagerActivity.this、message、Toast.LENGTH_SHORT.show();
spinner.setVisibility(View.GONE);
}
@凌驾
public void onLoadingComplete(字符串imageUri、视图视图、位图加载图像){
spinner.setVisibility(View.GONE);
}
});
((ViewPager)视图).addView(imageLayout,0);
返回图像布局;
}
@凌驾
公共布尔值isViewFromObject(视图,对象){
返回视图.equals(对象);
}
@凌驾
公共包裹存储状态(){
返回null;
}
}
}
Rest所有方法自动调用,但实例化项(ViewGroup视图,int位置)尚未调用