2011-07-13 19 views
3

GridViewに多数のカスタムビューがロードされています。上または下にスクロールすると、前に画面から外れたビューが異なるビューに置き換えられます。これがどうして起こるのか?Android 2.3:スクロールした後のGridViewの順序が間違っています

public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    RelativeLayout rLayout = (RelativeLayout)inflater.inflate(R.layout.collection_item, parent, false); 

    if (convertView == null) { // if it's not recycled, initialize some attributes  
     ImageView movieImage = (ImageView)rLayout.findViewById(R.id.movieImage); 
     TextView movieTitle = (TextView)rLayout.findViewById(R.id.movieTitle); 
     TextView movieDescription = (TextView)rLayout.findViewById(R.id.movieDescription); 

     movieImage.setImageResource(movies[position]); 
     movieTitle.setText(movieNames[position]); 
     movieDescription.setText(movieDescriptions[position]); 
    } else { 
     rLayout = (RelativeLayout) convertView; 
    } 
    return rLayout; 
} 

答えて

3

私はそれを理解しました。すべての初期化コードをif/elseブロックの後に(convertView == null)部分とsetterメソッドに入れるだけです。

+0

コピーする必要があります。 – Mikey

0

これはPicasso library

ソリューションを使用してみてくださいイメージロードのbecouseかもしれない代わりに、直接、ピカソと呼ばれる素晴らしいライブラリを使用して画像を読み込むためにビットマップを使用してのものであり、その私はあなたがこのようにこれを行うことができますあなたは本当にこのことを愛して知っているだけで、超高速タイトルはあなたがLOにしたい画像のパスです。この

Picasso.with(context).load(new File(title)).centerCrop() 
     .resize(150, 150).error(R.drawable.ic_launcher).into(image); 

のようなイメージをロードするピカソ

プロジェクト(ここでダウンロードピカソのjarファイル)にピカソのjarファイルを追加します 使用広告。切り抜き、サイズ変更、エラーはオプションです。

関連する問題