Android 数据绑定无法正常工作
我正在使用数据绑定库,我得到它是为了,但有一些问题,我似乎不能得到 这是我的xml布局活动_login.xml的一部分Android 数据绑定无法正常工作,android,data-binding,onclicklistener,android-databinding,2-way-object-databinding,Android,Data Binding,Onclicklistener,Android Databinding,2 Way Object Databinding,我正在使用数据绑定库,我得到它是为了,但有一些问题,我似乎不能得到 这是我的xml布局活动_login.xml的一部分 <data> <variable name="viewModel" type="com.ViewModel.LoginViewModel" /> </data> <EditText android:id="@+id/edit_text_username_reg
<data>
<variable
name="viewModel"
type="com.ViewModel.LoginViewModel" />
</data>
<EditText
android:id="@+id/edit_text_username_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/username"
android:imeOptions="actionNext"
android:inputType="text"
android:textSize="15sp"
android:theme="@style/EditTextTheme"
app:addTextChangedListener="@{viewModel.getUsername}" />
上面的代码是根据用户类型获取用户名。这是使用数据绑定的正确方法还是我做错了?上面的代码工作得很好。
问题是,当我试图用我在网上找到它的方式,即添加
android:addTextChangedListener="@{viewModel.getUsername}"
它不工作,我得到一个警告说未知属性,如果我尝试编译它,我会得到一个数据绑定不存在错误。我还使用了一个包含2个单选按钮的radiogroup,我想获取使用数据绑定选择的一个。我找到了使用android:onCheckedChanged的在线资源,我尝试使用它,但我得到了一个错误再次表明绑定不存在,并且未知属性
InverseBindingMethod
在这里是一个好东西,请遵循一个示例
课程
public class Handlers {
public void onKeywordChanged(CharSequence s, int start, int before, int count) {
// Your code here
}
}
布局
<layout>
<data>
<variable name="handlers"
type="my.package.Handlers" />
</data>
...
<EditText
...
android:onTextChanged="@{handlers::onKeywordChanged}"
/>
</layout>
...
有关更多信息,请同时发布您的错误。特别是说未知属性的部分。可能只是使用了
viewModel.username
。
<layout>
<data>
<variable name="handlers"
type="my.package.Handlers" />
</data>
...
<EditText
...
android:onTextChanged="@{handlers::onKeywordChanged}"
/>
</layout>