DataBindingUtil.setContentView – параметр типа T имеет несовместимые верхние границы

«Android Studio» показывает сообщение об ошибке «Тип параметра T имеет несовместимые верхние границы: ViewDataBinding и ActivityChecklistsBinding.

ActivityChecklistsBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_checklists); 

Перед обновлением ADK он работает нормально. Есть ли какие-то идеи, что неправильно?

Solutions Collecting From Web of "DataBindingUtil.setContentView – параметр типа T имеет несовместимые верхние границы"

У меня такая же проблема. Я попробовал пару вещей: проект «Очистить и перестроить».

Но, он работал после выбора File -> Invalidate Caches / Restart

Когда я впервые встречаю эту ошибку, я создаю макет с именем a.xml, а затем создаю действие вроде этого

 public class ABinding extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ABinding binding = DataBindingUtil.setContentView(this, R.layout.a); } } 

И эта ошибка возникает. Наконец, я обнаружил, что Class ABinding автоматически генерируется в / build, поэтому активность с именем ABinding будет перезаписывать автоматически сгенерированный класс

Поэтому я переименую Activity, и ошибка исчезнет

Операция связывания автоматически создается и берет имя из файла макета, а не класса активности.

Поэтому, если у вас есть действие с именем BeautifulActivity и соответствующий макет с именем sweet_layout.xml , тогда сгенерированное имя будет SweetLayoutBinding а не BeautifulActivityBinding .

Не делайте мою ошибку, смешивая MainActivity и activity_main.xml 😉

Исходные разработчики Android

Вы должны использовать ActivityMainBinding вместо имени класса Activity.

 ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_checklists);