2017-07-20 24 views
0

現在、アイテムを選択できるリストビューがあり、現在選択されているアイテムが強調表示されます。しかし、私はそれがあることは、ユーザーがリストで現在選択されて同じ項目をクリックした場合のように、再び、それはリスト項目をハイライトを消し、現在/再度選択した場合、現在のリスト表示アイテムの選択解除

currentUsersCameras.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
@Override 
public void onItemClick(final AdapterView<?> parent, View view, final int position, long id) { 


    for (int i = 0; i < parent.getChildCount(); i++) { 
     parent.getChildAt(i).setBackgroundColor(Color.TRANSPARENT); 
     view.setBackgroundColor(Color.rgb(3, 169, 244)); 
    } 

    } 
}); 
+2

あなたの 'Item'にブール値のステータスを追加してくださいクラス –

+0

この 'view.setBackgroundColor(isSelected(position)?Color.rgb(3、169、244):Color.TRANSPARENT);' – sHOLE

+0

を試してください。クリックすると、listitemをセットに追加します。セットに追加すると色が変わります。ここでもう一度そのアイテムをクリックすると、セットにそのアイテムがあるかどうかがチェックされます。それがセットにあれば、色を正常に戻します。私は複数の選択項目を削除する必要があるので、私はセットを維持するが、あなたの要件が異なる可能性があります。 –

答えて

0

リストビュー/ Recyclerview項目を選択されていないリスト項目を持っていないということSOT設定したいと思いますと、それ以外の場合はの場合は常にを処理する必要があります。同じ項目に同じことをやり直したい場合は、IFとELSEの両方を扱います

関連する問題