ViewHolder并更改一行详细信息

时间:2014-03-10 11:44:47

标签: android android-listview

我使用带有特殊布局的列表视图作为这样的行

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/backColor"
    android:id="@+id/linearLayoutMain"
    android:orientation="horizontal" >

        <TextView
            android:id="@+id/txtName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp"
            android:textColor="@color/RedColor"
            android:text="M"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtFamily"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/txtName"
            android:layout_below="@+id/txtName"
            android:paddingBottom="5dp"
            android:textColor="@color/black"
            android:layout_marginRight="2dp"
            android:text="S"
            android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout> 

我和往常一样使用ViewHolder 当用户点按 linearLayoutMain 时, txtName 的文字将会更改;但是如何在滚动期间保存 txtName 的新值?

其实我不想改变数据集;我会做这样的事情 我曾经将 currentContact.Name 设置为 txtName 的文字
现在想做这样的事情:

txtName.settext(currentContact.Nickname);

1 个答案:

答案 0 :(得分:1)

  

但是如何在滚动期间保存txtName的新值?

您必须修改用于填充ListView

的数据集中的元素