0

でデータを表示するアプリを開発しました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.gridviewrow, 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;
}

更新:: インフレータの初期化::

private LayoutInflater inflator;

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

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

        }
4

1 に答える 1

0

ビューの高さを固定値で設定する必要があります。高さの異なる android gridview にスクロール バグがあります。こちらを参考にしてください

于 2012-07-13T07:28:31.377 に答える