私がしたいことはとても簡単です。Androidリストで選択項目を強調する方法
私はアイテムでいっぱいのListFragmentを持っています。私が1つのアイテムをタッチすると、そのアイテムのテキストまたは背景が色を変えたい。これは、この項目が選択されていることを意味します。今度は別のアイテムに触れると、最後のアイテムを通常の状態に戻して新しいアイテムを選択します。
どうすればいいですか?
ありがとうございました。
EDIT:最後のビューを覚え
ソリューションが動作しますが、それは状態や色だ設定のいずれかへの最後のビューへのアクセスに依存しています。今これは動作します。
しかし、私は新しい問題があります。また、リスト内の項目を上に移動する機能もあります。ここで
それは次のとおりです。
public void MoveUp(){
if (lastselected > 0){
String item = adapter.getItem(lastselected);
adapter.remove(item);
adapter.insert(item, lastselected-1);
lastselected = lastselected -1;
System.err.println("Is View NULL " + (getListView().getChildAt(lastselected) == null));
}
}
問題(そして、私が提案した第二の溶液中で、「マーク解除に何をすべきか」を主張し、なぜこれがある)は、64項目の最後の項目に表示されていることです関数getChildAtはnullを返します。それはnullになるので、私は選択状態を設定することも、色を戻すこともできません。
これは私のデバッグプリントアウトです:
07-21 18:30:54.490: WARN/System.err(6733): Is View NULL true
07-21 18:30:54.670: WARN/System.err(6733): Is View NULL true
07-21 18:30:54.860: WARN/System.err(6733): Is View NULL true
07-21 18:30:55.020: WARN/System.err(6733): Is View NULL true
07-21 18:30:55.180: WARN/System.err(6733): Is View NULL false
07-21 18:30:55.720: WARN/System.err(6733): Is View NULL false
07-21 18:30:55.930: WARN/System.err(6733): Is View NULL false
07-21 18:30:56.110: WARN/System.err(6733): Is View NULL false
07-21 18:30:56.340: WARN/System.err(6733): Is View NULL false
そして、私がやって保たれ、すべてがアップボタンを押しています。もしこの関数が非ヌルポインタを返すとわかったら、それは非常に感謝しています。ありがとう
この方法の問題点は、以前に押されたビューにアクセスして色を標準に戻す方法が見つからないことです。 – aarelovich
これは、現在選択されているEntry-IDを保存するときに表示されます。したがって、最後に選択されたentry-id(そしてそれをマークすることができます)を持っていて、それを現在選択されているEntry-IDに変更します。 –
これは私が理解した。私が意味することは、getView(last_entry_id)のような機能はないということです。少なくとも私はそれを見つけることができません。 – aarelovich