0
ビュー(お気に入りボタン)とデータバインディングライブラリでセレクタを使用したいと思います。 これは私のレイアウトです:セレクタビュー付きAndroidデータバインディング
public void setFavorite(News news) {
news.setFavorite(!news.isFavorite());
}
、これはselector
です::
<?xml version="1.0" encoding="utf-8"?>
<layout ...>
<data>
<variable
name="obj"
type="com.zor.dev.simplebelnewsreader.instance.News"/>
<variable
name="handler"
type="com.zor.dev.simplebelnewsreader.handler.Handlers"/>
</data>
<View
android:layout_width="32dp"
android:layout_height="32dp"
android:id="@+id/selectorButton"
android:onClick="@{() -> handler.setFavorite(obj)}"
android:background="@drawable/fav_button2"
app:selected="@{obj.favorite}"
android:layout_marginStart="20dp"/>
これが私のHandler
ある
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@drawable/ic_star_purple_a400_24dp"
>
</item>
<item android:drawable="@drawable/star_favorite_not">
</item>
、何も、私はアイテムをクリックしたとき。私のコードで何が間違っていますか?
私は 'BaseObservable'を使用します私のインスタンスクラスでは、この行は必要ありません – ZolkiBy