Sorry 发现剪切漏掉了 麻烦您帮忙看一下如下:
private void initImageChooseDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("请选择图像");
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.imageswitch, null);
Gallery gallery = (Gallery) findViewById(R.id.img_gallery);
gallery.setAdapter(new ImageAdapter(this));
ImageSwitcher is = (ImageSwitcher) findViewById(R.id.image_switcher);
is.setFactory(new MyViewFactory(this));
builder.setView(view);
imageChooseDialog = builder.create();
} class ImageAdapter extends BaseAdapter { private Context context;
private int images[] = new int[] { R.drawable.image1,
R.drawable.image2, R.drawable.image3, R.drawable.image4,
R.drawable.image5, R.drawable.image6, R.drawable.image7,
R.drawable.image8 }; public ImageAdapter(Context context) {
this.context = context;
} @Override
public int getCount() {
return images.length;
} @Override
public Object getItem(int position) {
return null;
} @Override
public long getItemId(int position) {
return 0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView iv = new ImageView(this.context);
iv.setImageResource(images[position]);
iv.setAdjustViewBounds(true);
iv.setLayoutParams(new Gallery.LayoutParams(80, 80));
iv.setPadding(15, 10, 15, 10);
return iv;
}
}
public ImageAdapter(Context context) {
super();//加上这句
this.context = context;
}
public Object getItem(int position) {
return null;
} @Override
public long getItemId(int position) {
return 0;
}
这两个方法,都改为“return position”。
检查:1.imageChooseDialog 是否全局初始化2.image1,image2,是否存在,名称有没有错