とても単純に聞こえると思いますが、これについては疑問があります。しかし、どれも私の問題を解決できませんでした。だからここに行きます:
ユーザーがクリックしたときにリスト項目の背景色を変更しListActivity
、ユーザーが再度クリックしたときに元の色に戻したい (つまり、項目の選択/選択解除の外観)
getChildAt を使用してみました。スクロールせずにすべての項目を 1 つの画面に表示すると、完全に機能します。
コード:
getListView().getChildAt(position).setBackgroundColor(Color.CYAN);
問題は、リストにさらに項目があり、ユーザーがそれらをスクロールする必要があるときに始まります。アイテムの背景が変更されると、スクロールすると、新しく表示されるアイテムに背景色が表示されます。また、アイテムをもう一度クリックすると、 がgetChildAt(position)
返されますnull
(したがって、も返されます)。NullPointerException
リスト項目の背景色を変更するのに役立つ簡単なコードを教えてください。
前もって感謝します!