选中时列表视图中行的文本颜色更改

时间:2013-08-10 07:49:42

标签: android android-listview textcolor

我在列表视图中选择项目时遇到此问题。我在这里做的是,当用户从列表视图中选择项目时,该项目(此处为文本)的颜色将更改为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。需要做些什么才能解决问题?

0 个答案:

没有答案