我想添加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