2012-07-13 125 views
0

我開發了一個應用程序,其中我在Gridview中顯示數據。所有數據來自本地存儲。我能夠正確顯示每個數據,並且沒有任何問題。但是當我滾動Gridview並跳到底部並回到Top時,它會改變位置。有時當我向下滾動並返回頂部時,屏幕上會出現一個空白屏幕;根本沒有數據! 所以我認爲有getView()問題。我無法找出問題自定義gridview問題android

代碼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; 
} 

更新:: Intitalize吹氣::

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; 

     } 
+0

'lstpinfo'是你本地的'List'還是你正在使用靜態數組?我認爲應該沒有問題,其他'lstpinfo' – 2012-07-13 06:50:38

+0

@ user1381267請看我的回答,如果您有任何問題,請告訴我。 – 2012-07-13 06:51:32

+0

@MMohsinNaeem它沒有問題的數據..但它的顯示...所以它必須在getview – 2012-07-13 06:54:20

回答

0

的你必須設置您的視圖高度與固定值。在android gridview中有一個不同高度的滾動錯誤。請參閱this以供參考。