【发布时间】:2021-05-15 16:34:26
【问题描述】:
我正在尝试在我的项目中实现一个简单的数据绑定。我试图从 EditText 中输入的文本中删除空格,但它在编译时失败。以下是代码。 有人可以帮忙吗?
自定义 BindingAdapter 类
public class BindingAdapters {
@BindingAdapter("nospace")
public static void setText(TextView textView, boolean value) {
}
} // I also tried with signature public static void setText(TextView textView, String value)
布局xml
<EditText
android:id="@+id/first_name"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:layout_constraintTop_toBottomOf="@+id/first_lastname"
app:layout_constraintLeft_toLeftOf="parent"
app:nospace="true" />
片段
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState ) {
Log.w("MainFragment", "onCreateView...");
binding = DataBindingUtil.inflate(inflater, R.layout.main_fragment, container, false);
MyViewModel mainViewModel = MyViewModel .getInstance();
binding.setMyViewModel(mainViewModel);
return binding.getRoot();
}
视图模型
public class MyViewModel extends ViewModel {
private static MyViewModel myViewModel;
private User user;
private MyViewModel() {
}
public static MyViewModel getInstance() {
if(myViewModel == null) {
myViewModel = new MyViewModel();
}
return myViewModel;
}
}
我得到的错误是AAPT: error: attribute nospace (aka com.example.portfolio:nospace) not found.
【问题讨论】:
标签: android data-binding