0

背景が XML で定義されている ListView の各項目にボタンがあり、有効な場合は 1 つの背景、無効な場合は別の背景があります。ListView が読み込まれると、正しく表示されます。しかし、何らかの理由で、下にスクロールしてから上にスクロールすると、間違った背景が表示されます。

この問題の解決策を知りたいのですが、それ以外に、一般的に達成したいことは次のとおりです。ListView に、ユーザーを特定のアイテムの Web サイトに移動させるボタンがあります。ウェブサイトがない場合は、ボタンを非表示にするか、無効にします。どちらのオプションでも同じ問題があるようです。

よろしくお願いいたします。

4

1 に答える 1

0

問題は getView() メソッドにある可能性が最も高いようです。Android はメモリを節約するためにビューをリサイクルします。たとえば、下にスクロールすると、アダプタで getView(int, View, ViewGroup) が呼び出されます。ここで、View は画面の一番上に残った項目です。アダプターからの新しいデータをアイテムに再入力しない場合 (つまり、convertView を返すだけ)、画面の上部に残っていたビューが「新しい」ビューがあるべき場所に配置されます。

于 2011-11-30T14:44:29.770 に答える