自定义gridview android的问题

时间:2012-07-13 06:25:39

标签: java android

我开发了一个应用程序,我在Gridview中显示数据。所有数据均来自本地存储。我能够正确显示每个数据,并且没有任何问题。但是当我滚动Gridview并转到底部并返回Top时,它会改变位置。有时当我向下滚动并回到顶部时,屏幕上会出现一个空白屏幕;根本找不到数据! 所以我认为getView()存在问题。我无法弄清楚问题

getView()::

的代码
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    ViewHolder viewholder;
    // LayoutInflater inflator = activit.getLayoutInflater();
    if(convertView == null) {
        // recycled view is null so create it.
        viewholder = new ViewHolder();
        convertView = inflator.inflate(R.layout.griedviewrow, null);
        viewholder.imgvGridicon = (ImageView) convertView.findViewById(R.id.imgvGridicon);
        viewholder.txtGridItemlabel = (TextView) convertView.findViewById(R.id.txtGridItemlabel);
        convertView.setTag(viewholder); 
    } else {
        viewholder = (ViewHolder) convertView.getTag();      
    }  
    if ((lstpinfo.get(position).appname.toString()) != null) {
        viewholder.imgvGridicon.setImageDrawable((lstpinfo.get(position).icon));
        viewholder.txtGridItemlabel.setText(lstpinfo.get(position).appname.toString());
    }
    return convertView;
}

更新:: inflater ::

private LayoutInflater inflator;

     private ArrayList<PInfo> lstpinfo = new ArrayList<PInfo>();
     public GriedViewAdapter(Context cntx, ArrayList<PInfo> lstpinfo) {

            activit = cntx;
            inflator = LayoutInflater.from(cntx);
            this.lstpinfo = lstpinfo;

        }

1 个答案:

答案 0 :(得分:0)

您必须使用固定值设置视图高度。 android gridview中有一个滚动错误,具有不同的高度。请参阅this以供参考。