这里我有17张图片,我希望使用Grid Layout
但getview()
调用方法在活动中显示这些图片(连续2张图片)。
如何设置单个活动中图像数量的限制。
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder = null;
RowData rowData=null;
rowData = getItem(TabbedHorizontalPagerDemo.startWith);
if(convertView == null) {
convertView = mInflater.inflate(R.layout.list, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}
holder = (ViewHolder) convertView.getTag();
ImageView imageView1 = holder.getImage();
imageView1.setImageResource(rowData.mImgid);
TextView textView1 = holder.getTextView();
textView1.setText(rowData.mTitle);
TabbedHorizontalPagerDemo.startWith++;
return convertView;
}
/*
* Class to get values from a single row of list view
*/
private class ViewHolder
{
private View mRow;
private TextView textView = null;
private ImageView image = null;
public ViewHolder(View row){
mRow = row;
}
public ImageView getImage(){
if(image == null)
image = (ImageView) mRow.findViewById(R.id.imageView1);
return image;
}
public TextView getTextView(){
if(textView == null)
textView = (TextView) mRow.findViewById(R.id.imgText);
return textView;
}
}
答案 0 :(得分:1)
在编程代码的 getView(int pos,View inView,ViewGroup parent)中尝试此代码。我从数据库中获取了数据。可能它会解决你的问题:
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.gridstyle, null);
this.c.moveToPosition(pos);
String albumName = this.c.getString(this.c.getColumnIndex("albumname"));
String image = this.c.getString(this.c.getColumnIndex("image_data"));
ImageView iv = (ImageView) v.findViewById(R.id.imagestyle);
if (image != null) {
Uri uri = Uri.parse(image);
iv.setImageURI(uri);
}
TextView fname = (TextView) v.findViewById(R.id.textstyle);
fname.setText(albumName);
答案 1 :(得分:0)
我通过getCount()
方法中的返回8解决了我的问题。所以它在单个活动上给出8个图像。
public int getCount() {
return 8;
}