0

背景色、画像ビューなど、選択した行のプロパティを変更したい Android ListView があります。

onItemClick(AdapterView<?> parent, View view, int position, long id)ビューオブジェクトを取得して変更する方法を知っています。

しかし、問題は、この行のプロパティをリスナーの外で変更したいということです。私はたくさん検索しましたが、これに対する解決策を見つけることができませんでした。

ここでも ListView と BaseAdapter のドキュメントを読みました。

どうすればこのタスクを達成できますか?

4

1 に答える 1

1

カスタム アダプターを使用していることを願っています。使用している場合は、次の手順に従ってください。

現在のビューが条件を満たしている場合は、getView() メソッドで背景 (または必要な変更) を設定します。それ以外の場合は、背景をデフォルトにリセットします。たとえば、別の行を別の色で表示したい場合は、次のようにします

public View getView(int position, View view, ViewGroup parent) {

    if (view == null) {
        LayoutInflater inflater = getLayoutInflater();
        view = inflater.inflate(R.layout.row, parent, false);
    } else {}

    if (position % 2 == 0) {
        view.setBackgroundResource(R.color.gray);
    } else {
        view.setBackgroundResource(R.color.white);
    }
    return view;
}
于 2013-05-30T10:59:52.743 に答える