Articles of android databinding

Синтаксис для условных операторов в формате XML для Android

С привязкой данных мы часто видим коды в файлах макета, например: <Variable name="displayIt" type="Boolean"/> А затем: android:visibility="@{displayIt ? View.VISIBLE : View.GONE}" (Конечно, android.view.View должен быть сначала импортирован для View.VISIBLE и View.GONE, чтобы иметь какой-либо смысл) Это упрощает управление просмотром. Он также говорит мне, что условные утверждения разрешены в XML-макете, но похоже, что мой google-fu слаб, […]

Как настроить @BindingAdapter с помощью Picasso?

Я хотел бы создать сетку изображений фильмов с помощью привязок. Моя viewmodel выглядит так: public class PopularMoviesViewModel extends BaseObservable { Movie movie; Context context; MovieServiceComponent movieServiceComponent = DaggerMovieServiceComponent.builder() .contextModule(new ContextModule(context)) .build(); Picasso getPicasso = movieServiceComponent.getPicasso(); public PopularMoviesViewModel(Movie movie, Context context) { this.movie = movie; this.context = context; } @Bindable public String getImageUrl(){ return movie.posterPath(); } […]

MVVM: Как связать строку в классе модели?

Я создал приложение, используя обратный вызов. В том, что я хочу показать некоторую информацию с текстом. В textView я уже привязал данные, также мне нужно конкатрировать некоторые тексты вместе с этим. Мой кодекс Посмотреть: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="UserProfile" type="com.practical_session.sai.instaprouser.Profile.model.UserProfileInfo" /> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/linear" android:orientation="vertical" android:background="@drawable/animation_list" tools:context="com.practical_session.sai.instaprouser.Profile.view.ProfileActivity"> <RelativeLayout […]

Возможная причина для «Ошибка: невозможно создать привязки в представлении java.lang.NullPointerException»

Я использую Android Studio для своих проектов Android. Я столкнулся с проблемой, когда сбои сбоев со странной stacktrace, вот так: Error:Execution failed for task ':app:compileDevDebugJavaWithJavac'. java.lang.RuntimeException: failure, see logs for details. cannot generate view binders java.lang.NullPointerException at android.databinding.tool.reflection.ModelMethod.isBoxingConversion(ModelMethod.java:155) at android.databinding.tool.store.SetterStore.isBetterParameter(SetterStore.java:946) at android.databinding.tool.store.SetterStore.getBestSetter(SetterStore.java:838) И казалось, что привязка данных полностью разрушилась. Я делал рефакторинг раньше и перемещал […]

Как использовать Spinner в Recyclerview?

Какова наилучшая практика для обработки Spinner в адаптере RecyclerView ? Это мой адаптер RecyclerView : public class CartAdapter extends BaseAdapter<Object> { public CartAdapter(AbstractBaseActivity activity) { super(activity); } public static final int TYPE_PRODOTTO = 1; public static final int TYPE_SCONTO = 2; @Override public int getItemViewType(int position) { if (items.get(position) instanceof Article) return TYPE_PRODOTTO; else return […]

FirebaseRecyclerAdapter не работает с привязкой к данным

Я использую RecyclerView с привязкой к данным, но когда я запускаю приложение, в первый раз ничего не появляется, после обновления какого-либо контента или обновления приложения через мгновенный запуск содержимого. Мой ViewHolder: class MyViewHolder extends RecyclerView.ViewHolder { private ItemBinding mBinding; public MyViewHolder(View itemView) { super(itemView); mBinding = DataBindingUtil.bind(itemView); } ItemBinding getBinding() { return mBinding; } } […]

Android DataBinding layout_width: вы должны указать атрибут layout_width

Я пытаюсь связать ширину и высоту моего представления, но я не вижу, где проблема. Я нашел это в этой проблеме google Чтобы реализовать их для своего приложения, создайте адаптер привязки: @BindingAdapter("android:layout_width") public static void setLayoutWidth(View view, int width) { LayoutParams layoutParams = view.getLayoutParams(); layoutParams.width = width; view.setLayoutParams(layoutParams); } Поэтому я создал свой Binding Adapter следующим […]

Сбой привязки данных Android при использовании тега include с настраиваемым макетом представления

Я пытаюсь добавить некоторый пользовательский вид, используя тег include в мой макет активности, который использует DataBinding. Мое пользовательское представление также использует DataBinding. Но я столкнулся с запуском приложения: 05-02 17:30:03.685 12595-12595/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.novachevskyi.databindingtest, PID: 12595 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.novachevskyi.databindingtest/com.novachevskyi.databindingtest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.novachevskyi.databindingtest.databinding.CustomViewBinding.invalidateAll()' on a […]

Привязка Android и проверка уведомления JUnit

Я хочу проверить свои модели Android. Особенно, когда сеттер должен уведомлять об изменениях или нет. Модель вида выглядит так (с более связующими свойствами): public class EditViewModel extends BaseObservable { private String _comment; @Bindable public String getComment() { return _comment; } public void setComment(String comment) { if (_comment == null && comment == null) { // […]

Как установить ошибку в EditText с помощью DataBinding Framwork MVVM

Привет, я использую фреймворк привязки данных Android. Я предполагаю EditText для формы входа с именем пользователя, как показано ниже. <EditText android:id="@+id/etext_uname" style="@style/login_edittext" android:hint="@string/hint_username" android:inputType="textEmailAddress" /> Я также определил LoginViewModel, но мне нужна помощь в том, как установить Error в edittext, когда пользователь вводит неправильный адрес электронной почты в некотором случае, допустим, внутри public void afterTextChanged(@NonNull […]