Не могу найти класс символов ActivityMainBindingImplAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не могу найти класс символов ActivityMainBindingImpl

Сообщение Anonymous »

В настоящее время я изучаю привязку данных и действовал точно так же, как в учебнике, но продолжаю получать ошибку «ошибка: невозможно найти класс символа ActivityMainBindingImpl», когда запускаю приложение, независимо от того, сколько раз я запускаю приложение. Он генерирует Java-файл DataBinderMapperImpl, в котором отображается сообщение «Невозможно разрешить символ 'ActivityMainBindingImpl»
Main:

Код: Выделить всё

package com.example.quadraticequationsolver;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.databinding.DataBindingUtil;

import com.example.quadraticequationsolver.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

ActivityMainBinding ob1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ob1 = DataBindingUtil.setContentView(this, R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
Solve s = new Solve(ob1);
ob1.setVar(s);
}
}
XML: Класс модели:

Код: Выделить всё

package com.example.quadraticequationsolver;

import android.view.View;

import androidx.databinding.BaseObservable;
import androidx.databinding.Bindable;

import com.example.quadraticequationsolver.databinding.ActivityMainBinding;

public class Solve extends BaseObservable {
String a, b, c;
ActivityMainBinding ob;

public Solve(ActivityMainBinding ob) {
this.ob = ob;
}

@Bindable
public String getA() {
return a;
}

public void setA(String a) {
this.a = a;
}

@Bindable
public String getB() {
return b;
}

public void setB(String b) {
this.b = b;
}

@Bindable
public String getC() {
return c;
}

public void setC(String c) {
this.c = c;
}

public void solveequation(View v) {
int a1 = Integer.parseInt(getA());
int b1 = Integer.parseInt(getB());
int c1 = Integer.parseInt(getC());
double d = b1 * b1 - 4 * a1 * c1;
double x1;
double x2;
if (d > 0) {
x1 = (-b1 + Math.sqrt(d)) / (2 * a1);
x2 = (-b1 - Math.sqrt(d)) / (2 * a1);
ob.textView.setText("X1:" + x1 + "    X2:" + x2);
} else if (d == 0) {
x1 = (double) (-b1) / (2 * a1);
ob.textView.setText("X1:"  + x1);
} else {
ob.textView.setText("Imaginary Roots");
}
}
}
Gradle::app

Код: Выделить всё

plugins {
alias(libs.plugins.android.application)
}

android {
namespace = "com.example.quadraticequationsolver"
compileSdk = 34

defaultConfig {
applicationId = "com.example.quadraticequationsolver"
minSdk = 25
targetSdk = 34
versionCode = 1
versionName = "1.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
buildFeatures{
dataBinding {
enable=true
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}

dependencies {
constraints {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0"){
because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
}
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0"){
because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
}
}
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
}
Я включил функцию привязки данных в файле Gradle, попробовал очистить и перестроить проект, обновить SDK, аннулировать кеш и перезапустить, проверил XML-файл и класс модели.
Пожалуйста, помогите. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/786 ... indingimpl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»