私はに取り組んでおり、選択したアイテムの内部でListView
使用しました。私の問題は、これを行ってスクロールしているときに、目に見えない子の色を設定していることです。どうすれば解決できますか。setBackgroundColor
onItemLongClickListener
ListView
質問する
940 次
3 に答える
2
次の属性をxmlに入れてみてください。
`
<ListView
android:dividerHeight="1dp"
android:scrollingCache="false" >
`
于 2012-09-18T11:49:01.583 に答える
1
これは、リストビューがスクロール時にビューの再作成を避けるために古いビューを使用するために発生します。
実際、これはすべての adapterView クラスに共通です。
これを処理するために、ビューの位置のステータスを (arrayList または任意のコレクションを使用して) 保存し、 getView で、位置がリスト内でこの background に設定されている場合は、この background を使用し、そうでない場合は使用しますデフォルトの背景。
listview の詳細については、API を読むか (強くお勧めします)、ビデオ「the world of listView」をご覧ください。
于 2012-09-18T10:35:43.587 に答える
0
アダプター クラスで:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = inflater.inflate(...);
}
convertView.setBackgroundColor(defaultcolor);
...
}
ただし、これにより、そのビューが再描画されるときに onlongclicklistener で設定した背景が上書きされます。したがって、クリックされたアイテムの位置のリストを保持して、これらを getView メソッドで設定できるようにすることができます。
于 2012-09-18T11:07:43.423 に答える