Android DataBindingClasses обновляются не сразу - PullRequest
0 голосов
/ 13 сентября 2018

Проблема:

Я работаю над проектом с интегрированной привязкой данных теперь, когда я создаю новый макет или добавляю вид к существующему, он просто не появляется в объекте привязки и Я даже пытаюсь пересобрать и очистить проект, но он не работает, и мне нужно просто перезапустить проект или переименовать файл макета один или два раза, чтобы обновить BindingClass.Это так раздражает и отнимает мое важное время.

Код

build.grade

dataBinding {
    enabled = true
}

файл_компоновки

<?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">

    <RelativeLayout
        android:id="@+id/lyt_parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <View android:id="@+id/old_view_1" .../>
        <View android:id="@+id/old_view_2" .../>    

        <!-- New View -->
        <View android:id="@+id/new_view" .../>
    </RelativeLayout>
</layout>

Упражнение / Фрагмент / Место, где используется макет

LayoutFileBinding binding = DataBindingUtil.setContentView(this, R.layout.layout_file);
binding.newView  
// here I get error cannot resolve (newView) until i restart project or rename layout file 

1 Ответ

0 голосов
/ 17 сентября 2018

Привязка данных и поддержка платформы все еще не настолько развита, я давно использую привязку данных, все проблемы, связанные с IDE, решены, но ваша проблема случается со мной и в большинстве случаев.

Самым быстрым решением для меня является

  • Файл> Закрыть проект
  • Открыть из недавних

Это занимает почти 5 секунд.и генерирует все вновь добавленные поля и классы привязки макетов.

Это быстрее, чем Rebuild или Restart AS.

...