我想制作一个按钮,用于在1列gridview和4列gridview之间切换。
我认为有一个使用ViewFlipper的系统,但我不能这样做,因为根据1或4列我有2个不同的布局。
1列有:ImageView,3 x TextView
4列:只有1个ImageView
有任何系统可以使用viewflipper或类似的东西更改inflater吗?
来自自定义适配器的getView
final ViewHolder holder;
if(convertView == null){
holder = new ViewHolder();
if(!Utils.LISTA_O_GRID){
convertView = inflater.inflate(R.layout.elemento_grid, null);
}else{
convertView = inflater.inflate(R.layout.elemento_lista, null);
holder.titulo = (TextView) convertView.findViewById(R.id.titulo);
holder.plataforma = (TextView) convertView.findViewById(R.id.plataforma);
}
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
if(!Utils.LISTA_O_GRID){
// TODO: Aqui se li fa el SET de la imatge
}else{
holder.titulo.setText(data.get(position).get_titol());
holder.plataforma.setText(data.get(position).get_id_plataforma());
}
return convertView;
这个adaptar的问题在于它会严重生成内容并因为持有者错误而崩溃。
谢谢它提前!
这是一个简单的示例,其中包含我需要做的图像(不关心图像,因此是随机的):
修改 我把convertView.forceLayout();现在应用程序没有崩溃,但仍然有一点问题。我第一次点击按钮时,显示的布局非常糟糕。第二次正确显示: