2011-10-26 11 views
1

私はこのような何かを:GridViewからgetViewメソッドに配列を渡す方法は?

grid = new GridView(this); 

imagesPreviewH={1,2,3,4} 

mAdapter = new HorizontalImageAdapter(this, imagesPreviewH); 

grid.setAdapter(mAdapter); 

grid2 = new GridView(this); 

imagesPreviewH={5,6,7,8} 

mAdapter = new HorizontalImageAdapter(this, imagesPreviewH); 

grid2.setAdapter(mAdapter); 

public View getView(final int position, View convertView, 

ViewGroup parent) { 

    ImageView imageView; 

if (convertView == null) { // if it's not recycled, initialize    // 

imageView = new ImageView(mContext); 

imageView.setImageDrawable(imagesPreviewH.get(position)); 

int x = (int) (imagesPreviewH.get(position).getBitmap().getWidth() * 1.6); 

    int y = (int) (imagesPreviewH.get(position).getBitmap().getHeight() * 1.6); 

    imageView.setLayoutParams(new GridView.LayoutParams(x, y)); 

imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 


imageView.setPadding(40, 20, 0, 1); 


    imageView = (ImageView) convertView; 
     } 

     return imageView; 

    } 

しかしGriViewロードにのみ、{5,6,7,8}。 {1,2,3,4}と{5,6,7,8}データを持つ2つのGridViewを実行する方法ですが、{5,6,7,8}と{5,6,7,8} 8}データは今のように?

答えて

1

お客様のご使用imagesPreviewHを2回入力してください。グリッドビューごとに異なる配列が必要です。代わりに:

grid = new GridView(this); 

imagesPreviewH1={1,2,3,4} 

mAdapter = new HorizontalImageAdapter(this, imagesPreviewH1); 

grid.setAdapter(mAdapter); 

grid2 = new GridView(this); 

imagesPreviewH2={5,6,7,8} 

mAdapter = new HorizontalImageAdapter(this, imagesPreviewH2); 

grid2.setAdapter(mAdapter); 
関連する問題