我想添加gridView並自定義它的適配器。GridView的第一個項目不顯示
但是第一項沒有出現,並且項目點擊偵聽器也不起作用。
我的代碼不正確?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView text;
if (convertView == null) {
convertView = mLayoutInflater.inflate(R.layout.layout_mission_private_item, parent, false);
convertView.setLayoutParams(new AbsListView.LayoutParams(parent.getWidth()/3, parent.getHeight()/2));
text = (TextView) convertView.findViewById(R.id.tvContent);
convertView.setTag(text);
} else {
text = (TextView) convertView.getTag();
}
text.setText(mData.get(position).first);
if (mData.get(position).second)
text.setBackgroundColor(Color.GREEN);
return convertView;
}
編輯:完整的源
public class MissionPrivateGvAdapter extends BaseAdapter {
private LayoutInflater mLayoutInflater;
public ArrayList<Pair<String, Boolean>> mData;
public MissionPrivateGvAdapter(LayoutInflater inflater, ArrayList<Pair<String, Boolean>> data) {
mLayoutInflater = inflater;
mData = data;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position).first;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView text;
if (convertView == null) {
convertView = mLayoutInflater.inflate(R.layout.layout_mission_private_item, parent, false);
convertView.setLayoutParams(new AbsListView.LayoutParams(parent.getWidth()/3, parent.getHeight()/2));
text = (TextView) convertView.findViewById(R.id.tvContent);
convertView.setTag(text);
} else {
text = (TextView) convertView.getTag();
}
text.setText(mData.get(position).first);
if (mData.get(position).second)
text.setBackgroundColor(Color.GREEN);
return convertView;
}
}
你是什麼意思的mData.get(position).first?併發布整個代碼 –
@KarthikaPB我將它添加 – iroiroys