大佬教程收集整理的这篇文章主要介绍了android – 使用带有ImageViews和TextViews的GridView的问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在每个单元格中使用带有ImageView和TextView的GridView.所以我创建了单元格布局,网格布局,imageAdapter和主要活动,当然,但我不断遇到以下问题:
当我在模拟器上尝试这个时,初始图像和标题会正确显示,但是一旦我向下滚动,一些项目开始变得混乱并且不断变化甚至重复一些时间.
我正在使用2个并行阵列(图像和标题).我尝试使用Log.v函数来查找调用getView时显示的索引和图像,但只能正确分配初始的(可以看到没有滚动).
我通过一遍又一遍地生成视图来解决问题,但这显然不是正确的方法.
这是我正在使用的文件:
网格单元格:
网格视图:
@H_262_32@GrdMenu"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="50dp"
android:gravity="center"
android:padding="10dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:numcolumns="3" >
GridActivity :(唯一实现的方法)
@Override
public void onCreate(Bundle savedInstanceStatE) {
super.onCreate(savedInstanceStatE);
setContentView(R.layout.menu);
GridView gridview = (GridView) findViewById(R.id.@L_717_12@menu);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView> parent,view="" v,int="" position,long="" id)="" {="" toast.maketext(getapplicationcontext(),""="" +="" position,toast.length_short).show();="" }="" });="" }=""?>
ImageAdapter:
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private Integer[] mThumbIds = {R.drawable.potencia32x32,R.drawable.detalle_cuenta32x32,R.drawable.solicitud32x32,R.drawable.agregar32x32,R.drawable.cyr_32x32,R.drawable.usuarios,R.drawable.cambio_med64x64,R.drawable.cobranza_ex64x64,R.drawable.convenio_pagos64x64,R.drawable.copiabf64x64,R.drawable.info_cliente64x64,R.drawable.mant_exP64x64,R.drawable.ordenes64x64,R.drawable.reembolsos64x64,R.drawable.seguro64x64,R.drawable.solicitudes64x64,R.drawable.suministro64x64
};
private String[] Caption = {"Consumo","Facturaciones","Solicitudes","Pagos","Cortes y Rcnx","Datos Generales","Cambios de Medidores","Cobranza Externa","Convenio Pagos","Copia Fac. o Bol.","Info. Cliente","Mant. Expediente","Consulta Ordenes","Historia Reembolsos","Seguros","Caracteristicas Suministro"
};
public ImageAdapter(Context C) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position,View convertView,ViewGroup parent) {
View myView = null;
if(convertView==null)
{
LayoutInflater li = (LayoutInflater) mContext.getSystemservice(Context.LAYOUT_INFLATER_serviCE);
myView = li.inflate(R.layout.@L_717_12@menu_cell,null);
TextView tv = (TextView) myView.findViewById(R.id.grid_item_text);
Log.v("D:<",string.valueof(caption.length) +"="" y:="" "+="" string.valueof(position));="" tv.settext(caption[position]);="" imageview="" iv="(ImageView)" myview.findviewbyid(r.id.grid_item_image);="">",string.valueof(caption.length)><",string.valueof(mthumbids.length) +"="" y:="" "+="" string.valueof(position));="" iv.setimageresource(mthumbids[position]);="" }="" else="" {="" myview="convertView;" }="" return="" myview;="" }="" }="">",string.valueof(mthumbids.length)>
public View getView(int position,ViewGroup parent) {
View myView = null;
if(convertView==null)
{
LayoutInflater li = (LayoutInflater) mContext.getSystemservice(Context.LAYOUT_INFLATER_serviCE);
myView = li.inflate(R.layout.@L_717_12@menu_cell,null);
}else{
myView = convertView;
}
TextView tv = (TextView) myView.findViewById(R.id.grid_item_text);
Log.v("D:<",string.valueof(caption.length) +"="" y:="" "+="" string.valueof(position));="" tv.settext(caption[position]);="" imageview="" iv="(ImageView)" myview.findviewbyid(r.id.grid_item_image);="">",string.valueof(caption.length)><",string.valueof(mthumbids.length) +"="" y:="" "+="" string.valueof(position));="" iv.setimageresource(mthumbids[position]);="" return="" myview;="">",string.valueof(mthumbids.length)>
}
以上是大佬教程为你收集整理的android – 使用带有ImageViews和TextViews的GridView的问题全部内容,希望文章能够帮你解决android – 使用带有ImageViews和TextViews的GridView的问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。