设置ListView和GridView的item高度
在适配器中添加如下代码可以完成item高度的修改。
AbsListView.LayoutParams param = new AbsListView.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,70);
view.setLayoutParams(param);
注意设置完成后有的会出现第一个Item点击没有反应
该部分参考自:https://www.jianshu.com/p/0d65da8366c2
对GridView进行设置时,若每次进入控件时都new一个新的LayoutParams对象,会导致GridView的第一个Item点击没有反应。如下所示:
ViewHolder viewHolder = null;
if (view == null) {
view = LayoutInflater.from(mContext).inflate(R.layout.item_grid_binguo, null);
viewHolder = new ViewHolder(view);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolde r) view.getTag();
}
viewHolder.mTvBinguoName.setText(mBinGuo.getList().get(item).getPokemon_id_list().get(i).getPokemon_name());
viewHolder.mLvBinGuoItem.setOnClickListener(mMyClick);
viewHolder.mLvBinGuoItem.setTag(Integer.valueOf(mBinGuo.getList().get(item).getPokemon_id_list().get(i).getPokemon_id()));
if(i==0){
Log.d("BinGuoInfoAdapter", mBinGuo.getList().get(item).getPokemon_id_list().get(i).getPokemon_id());
}
/*************************问题代码***************************/
AbsListView.LayoutParams param = new AbsListView.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
200);
view.setLayoutParams(param);
/************************************************************/
return view;
最后把问题代码放到了第一次加载的地方,在第一次加载时new一下,完美的解决了问题
ViewHolder viewHolder = null;
if (view == null) {
view = LayoutInflater.from(mContext).inflate(R.layout.item_grid_binguo, null);
/**************************解决方法************************/
AbsListView.LayoutParams param = new AbsListView.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
200);
view.setLayoutParams(param);
/*********************************************************/
viewHolder = new ViewHolder(view); view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.mTvBinguoName.setText(mBinGuo.getList().get(item).getPokemon_id_list().get(i).getPokemon_name());
viewHolder.mLvBinGuoItem.setOnClickListener(mMyClick);
viewHolder.mLvBinGuoItem.setTag(Integer.valueOf(mBinGuo.getList().get(item).getPokemon_id_list().get(i).getPokemon_id()));
return view;