首先,大家好,感谢您的帮助。
我有一个包含少量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" />