gpt4 book ai didi

java - Android 数据绑定(bind)与选择器 View

转载 作者:行者123 更新时间:2023-12-02 13:35:39 24 4
gpt4 key购买 nike

我想使用带有 View (最喜欢的按钮)和数据绑定(bind)库的选择器。这是我的布局:

<?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"/>

这是我的处理程序:

 public void setFavorite(News news) {
news.setFavorite(!news.isFavorite());
}

这是选择器:

<?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>

当我点击项目时,什么也没有。我的代码出了什么问题?

最佳答案

当 inflate DataBinding 时,我只是忘记在我的 Activity 中设置数据和处理程序,如下所示:

binding.setObj(data);
binding.setHandler(new Handlers());

关于java - Android 数据绑定(bind)与选择器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com