RecyclerView中最喜欢的开关按钮

时间:2016-08-23 15:00:57

标签: android android-layout android-sharedpreferences

您可能已经在大多数应用中看到过,他们使用“添加”作为收藏,并且他们会将用户最喜欢的数据显示给另一个“活动”。我想做但我无法做到。我知道为了保存值,我必须在共享的Preferences中使用Context.Mode_append,但是哪个值?

我是否发送了recyclerView列表项的位置或者我需要发送字符串?我在Stack Overflow中发现了类似的问题,但这些都没有用,因为它们不详细。下面是屏幕截图,我也在尝试如果按下开始按钮,然后将其变为黄色,下面是我尝试过的代码,但只有在按住按钮时才会改变。

来自drawable

的start.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:drawable/btn_star_big_on" android:state_pressed="true" />

<item android:drawable="@android:drawable/star_on" android:state_selected="true" />
<item android:drawable="@android:drawable/star_big_off" />
</selector>

我在cardView中调用了按钮,其中CardView是我的父布局

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/star"
        android:background="@android:color/transparent"/>

enter image description here

1 个答案:

答案 0 :(得分:0)

star ImageButton 添加一个OnClickListener,首先为其指定一个ID,然后他们在您的类中对其进行定义。您没有太多有关如何保存或检索数据的知识,但是对于信息,添加OnClickListener是最好的解决方案。