gpt4 book ai didi

android - 数据绑定(bind)错误 ****msg :Could not resolve as an accessor or listener on the attribute

转载 作者:行者123 更新时间:2023-11-29 23:02:09 25 4
gpt4 key购买 nike

我从 Android Studio 收到此错误,即使我:

  • 从现有(和工作)项目复制,有任何错误
  • 在新项目中更改了包名

这是 xml:

<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" alias="v"/>
<variable
name="viewModel"
type="....MyModel"/>
</data>
<android.support.v4.widget.NestedScrollView
android:id="@+id/fragment_question"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical">
<TextView
style="@style/QText.Big"
android:id="@+id/service_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="Service name"
android:text="@{viewModel.serviceName}"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:visibility="@{viewModel.isDateType ? v.VISIBLE : v.GONE}">
<TextView
style="@style/QText.Big"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Date:"/>
<TextView
style="@style/Text.DateTime"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/date_icon"
android:text="@{viewModel.dateAnswer}"
android:onClick="@{viewModel.pickDate}"/>
</LinearLayout>
</LinearLayout>


</android.support.v4.widget.NestedScrollView>
</layout>

这是我的 View 模型:

public class QuestionViewModel extends AbsQuestionViewModel {
public final ObservableString dateAnswer = new ObservableString();


private FragmentQuestionBinding binding;

public QuestionViewModel(Context context, FragmentQuestionBinding binding) {
super(context);

}

public boolean isLabelType() {
return answerType != null && (answerType.equals(ANS_TYPE_LABEL) || answerType.equals(ANS_TYPE_GEOPHOTO));
}

public boolean isDateType() {
return answerType != null && (answerType.equals(ANS_TYPE_DATE) || answerType.equals(ANS_TYPE_DATETIME));
}

public void pickDate(View v) {
DateTime.pickDate(context, dateAnswer::set);
}
}

我不明白的是,我只收到 pickDate 属性的错误。我没有收到例如 serviceNamedateAnswer 属性的错误。

我尝试清理并重建项目并使缓存无效并重新启动。

这正是我得到的错误:

****/ data binding error ****msg:Could not resolve ...MyModel.pickDate as an accessor or listener on the attribute. file:/.../app/src/main/res/layout/fragment_q.xml loc:90:43 - 90:60 ****\ data binding error ****

最佳答案

现有代码在使用数据绑定(bind)在xml中添加点击监听器时出错

改变

android:onClick="@{viewModel.pickDate}"

android:onClick="@{(v)-> viewModel.pickDate(v)}"

关于android - 数据绑定(bind)错误 ****msg :Could not resolve as an accessor or listener on the attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56847938/

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