0
我正在創建一個自定義的GridView,並且我需要爲GridView的元素創建一個圖像和一個文本。 我有這個適配器爲GridView,但我解決不了我的錯誤:對於類型ClipData.Item,未定義getImage()方法Java
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
/**
*
* @author manish.s
*
*/
public class CustomGridViewAdapter extends ArrayAdapter<Item> {
Context context;
int layoutResourceId;
ArrayList<Item> data = new ArrayList<Item>();
public CustomGridViewAdapter(Context context, int layoutResourceId,
ArrayList<Item> data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
RecordHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new RecordHolder();
holder.txtTitle = (TextView) row.findViewById(R.id.item_text);
holder.imageItem = (ImageView) row.findViewById(R.id.item_image);
row.setTag(holder);
} else {
holder = (RecordHolder) row.getTag();
}
Item item = data.get(position);
holder.txtTitle.setText(item.getTitle());
holder.imageItem.setImageBitmap(item.getImage());
return row;
}
static class RecordHolder {
TextView txtTitle;
ImageView imageItem;
}
}
我的錯誤是在這裏:
holder.txtTitle.setText(item.getTitle());
holder.imageItem.setImageBitmap(item.getImage());
它說:該方法item.getTitle(和也item.getImage)是未定義的類型ClipData.Item
我缺少什麼?
我的項目是這樣的: 'gridArray.add(new Item(homeIcon,「Home」));'基本上是一個文本和圖像,問題是我沒有創建一個Item類,我需要這樣做才能定製它? – Signo
這可能是一個快速和很好的解決方案。您也可以創建2個數組,1個字符串和一個Drawable,並將其傳遞給適配器 – yshahak