【发布时间】:2013-11-29 08:02:41
【问题描述】:
我正在使用寻呼机适配器为图像创建 swip 视图,但遇到了一些问题 GridView 类型中的方法 setAdapter(ListAdapter) 不适用于参数 (ImageAdapter) 我是类型转换为列表视图但 logcat 在下面显示错误类我在 gridView.setAdapter(new ImageAdapter(getApplicationContext())) 中发现错误;请给我有用的解决方案。
public class AndroidGridLayoutActivity extends Activity {
String sp_items[] = new String[] { "TargetMovie", "About Us", "Like-Us",
"Other"
};
Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_layout);
GridView gridView = (GridView) findViewById(R.id.grid_view);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
gridView.setAdapter(new ImageAdapter(getApplicationContext()));
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
i.putExtra("id", position);
startActivity(i);
}
});
}
}
图像适配器***********************************
public class ImageAdapter extends PagerAdapter {
private Context mContext;
ImageView imageView;
private Context context;
// Keep all Images in array
public Integer[] mThumbIds = { R.drawable.a00, R.drawable.a01, R.drawable.a02, R.drawable.a03,
R.drawable.a04, R.drawable.a05, R.drawable.a06, R.drawable.a07, R.drawable.a08, R.drawable.a09,R.drawable.a10, R.drawable.a11, R.drawable.a12, R.drawable.a13,
R.drawable.a14, R.drawable.a15, R.drawable.a16, R.drawable.a17, R.drawable.a18, R.drawable.a19, R.drawable.a20, R.drawable.a21, R.drawable.a22
, R.drawable.a23, R.drawable.a24, R.drawable.a25, R.drawable.a26, R.drawable.a27, R.drawable.a28, R.drawable.a29, R.drawable.a30
};
// Constructor
public ImageAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return mThumbIds[position];
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(250, 300));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(4, 4, 4, 4);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
imageView.setPadding(4, 4, 4, 4);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(mThumbIds[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
【问题讨论】: