gpt4 book ai didi

android - 按钮中的 onClick 不起作用使用数据绑定(bind)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:25 25 4
gpt4 key购买 nike

我开始学习Data Binding库 https://developer.android.com/topic/libraries/data-binding/index.html

我不明白为什么不这样做。

安卓{ .... 数据绑定(bind){ 启用 = 真 }

<data>
<variable
name="presenter"
type="ua.com.it_st.ordersmanagers.activiteies.HistoryActivity"/>
</data>

<Button
android:id="@+id/test"
android:text="Start second activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="@{presenter::onHistoryClick}"
/>

public class HistoryActivity extends MvpAppCompatActivity implements HistoryView {

@InjectPresenter
HistoryPresenter historyPresenter;

ActivityHistoryBinding binding;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_history);
}

public void onHistoryClick(View view) {
Log.i("test ","test");
binding.test.setText("test");
}

最佳答案

您忘记将 ViewModel 设置为您的绑定(bind)。如果您希望在您的 Activity 中收到 onClick,您必须这样做

binding.setPresenter(this)

尽管我建议在您的 XML 文件中调用 ViewModel viewModelactivity(现在称为 presenter)。如果您希望您的 presenter 接收到 onClick,请将布局中的 ViewModel 类型从 Activity 更改为 Presenter,在您的 Presenter 中实现 onClick 方法, 并做

binding.setPresenter(presenter)

关于android - 按钮中的 onClick 不起作用使用数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45288432/

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