リスト ビューで項目を選択しているときに、この問題に直面しています。ここで行っているのは、ユーザーがリスト ビューから項目を選択すると、その項目の色 (ここではテキスト) が CYAN (デフォルトは黒) に変わることです。しかし、リストビューをスクロールすると、ユーザーが選択していないアイテムの色も変わります。私はそれを解決しようとしましたが、解決策が見つかりませんでした。以下は私のコードです..
first.xml
<ListView
android:id="@+id/list1"
android:layout_width="220dp"
android:layout_height="300dp"
android:layout_marginLeft="45dp"
android:layout_marginTop="80dp"
android:cacheColorHint="#00000000"
android:fastScrollEnabled="true" >
</ListView>
second.xml
<CheckedTextView
android:id="@+id/txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text=""
android:textSize="20sp" />
First.java
CheckedTextView chkText;
SparseBooleanArray checked;
lvDialog.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
length_Friends = lvDialog.getCount();
checked = lvDialog.getCheckedItemPositions();
chkText = (CheckedTextView) arg1.findViewById(R.id.txt);
lvDialog.invalidateViews();
if(checked.get(arg2))
{
chkText.setTextColor(Color.CYAN);
colorRow ++;
}
else
{
chkText.setTextColor(Color.BLACK);
colorRow = 0;
}
}
});
上記は、Checked Text View を使用したコードです。問題を解決するために何をする必要がありますか?