如何从ListviewAdapter-Android刷新Listview行

时间:2016-08-27 15:35:07

标签: android listview custom-adapter

首先,大家好,感谢您的帮助。

我有一个包含少量textviews和一个按钮的行的列表视图。我想在点击时更改按钮的背景图像(例如Facebook“喜欢”按钮)。但是当我点击按钮时,它会改变背景,但我需要刷新列表视图才能看到更改。 有没有办法从原始按钮刷新listview?顺便说一句,notifydatasetchanged()对我来说不起作用。

很快,当您点击Facebook上的帖子下方的“赞”按钮时,它会变为蓝色。我试图做同样的事情。

此代码属于适配器类;

fav.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(getItem(position).isFav)
                fav.setImageResource(R.drawable.nonfavorite);
            else {
                addToFavorites(getItem(position));    

            }
        }
    });

这个属于行xml;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/textlayout_shape">
<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/lwraw_clickableLayout">
    <TextView
        android:id="@+id/lwrowHeader_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="5dp"
        android:layout_marginStart="5dp"
        android:textStyle="bold"/>
    <TextView
        android:id="@+id/lwrowSender_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="5dp"
        android:layout_marginEnd="5dp"
        android:textColor="#000000"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:textStyle="bold"/>
    <TextView
        android:id="@+id/lwrowBody_textview"
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:textColor="#000000"
        android:layout_marginLeft="5dp"
        android:layout_marginStart="5dp"
        android:layout_below="@id/lwrowHeader_textview"/>
</RelativeLayout>

<TextView
    android:id="@+id/lwrowType_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:layout_marginLeft="5dp"
    android:layout_marginStart="5dp"
    android:layout_below="@id/lwraw_clickableLayout"
    android:textStyle="italic"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="5dp"/>
<TextView
    android:id="@+id/lwrowDate_textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#000000"
    android:layout_marginRight="5dp"
    android:layout_marginEnd="5dp"
    android:layout_below="@id/lwrow_clickableLayout"
    android:textStyle="italic"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_marginBottom="5dp"/>
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/lwrowFavorite_btn"
    android:src="@drawable/nonfavorite"
    android:layout_alignTop="@id/lwrowDate_textview"
    android:layout_alignBottom="@id/lwrowDate_textview"
    android:layout_centerHorizontal="true" />

0 个答案:

没有答案