databinding.ActivityMainBinding не может быть импортирован в проект Android - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть работающий проект Android Studio, также установленный через USB на моем смартфоне, это просто базовый калькулятор.Теперь мне нужно переписать код для урока, который я преподаю, но Android Studio запрещает этот импорт

import [com.username.projectname].databinding.ActivityMainBinding;

Приложение использует привязку данных, которую я включил в модуле Module: app, и повторно синхронизирует все.

старый проект работает, новый - нет, с тем же кодом, причина этого импорта отклонена.

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018
Your layout should be between 

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <variable
            name="viewModel"
            type="yourPackage.MainViewModel" />
    </data>

// write layout below

</layout>


Sync project it will generate Binding class according to your activity_layout name
Like if layout name is activity_main then ActivityMainBinding will be generated. 

If it doesn't help, do invalidate the Cache/Restart project from the file menu.
0 голосов
/ 15 сентября 2018

XML требуется обернуть <layout> так ... чтобы сгенерировать нужный класс:

<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:android="http://schemas.android.com/apk/res/android">

    <!--suppress AndroidUnknownAttribute -->
    <data class=".databinding.ActivityMainBinding">
        <!-- add variables & imports into here -->
    </data>

    <!-- and add the RelativeLayout into here -->

</layout>
...