GridViewダイナミック設定幅の高さにより、最初のitemクリックが応答しないか、表示が正常でないという問題を解決
最近プロジェクトをしている時に2回この問題に出会って、今経験を分かち合います
一、問題
質問コード:
一、問題
質問コード:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder holder;
final Light light = beans.get(position);
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.lo_light_item, null);
holder.tvName = (TextView) convertView
.findViewById(R.id.tv_light_item);
holder.image = (ImageView) convertView
.findViewById(R.id.iv_light_item);
holder.ly = (LinearLayout) convertView
.findViewById(R.id.ly_light_item);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
// item
holder.ly
.setLayoutParams(new GridView.LayoutParams(
WindowManager.LayoutParams.FILL_PARENT, gv
.getHeight() / 4));
return convertView;}
1、 Item View , , Item ,
2、 Item , 。
:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder holder;
final Light light = beans.get(position);
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.lo_light_item, null);
holder.tvName = (TextView) convertView
.findViewById(R.id.tv_light_item);
holder.image = (ImageView) convertView
.findViewById(R.id.iv_light_item);
holder.ly = (LinearLayout) convertView
.findViewById(R.id.ly_light_item);
// item
holder.ly
.setLayoutParams(new GridView.LayoutParams(
WindowManager.LayoutParams.FILL_PARENT, gv
.getHeight() / 4));
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}