작성
·
41
0
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#008000"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginTop="100dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:gravity="center"
android:textColor="@color/black"
android:layout_margin="20dp"
android:textStyle="bold"
android:text="인생은 주사위 한방에 가는거 아니겠습니까?"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:weightSum="2">
<ImageView
android:src="@drawable/dice_1"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_weight="1"/>
<ImageView
android:src="@drawable/dice_2"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_weight="1"/>
</LinearLayout>
<Button
android:id="@+id/DiceStartBtn"
android:text="인생 고고"
android:layout_width="match_parent"
android:background="#@color/black"
android:textColor="@color/white"
android:layout_height="50dp"
android:layout_margin="50dp"/>
</LinearLayout>
</layout>
xml 코드
import org.jetbrains.kotlin.storage.CacheResetOnProcessCanceled.enabled
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
}
android {
namespace = "com.seungwon.dice"
compileSdk = 34
defaultConfig {
applicationId = "com.seungwon.dice"
minSdk = 24
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"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
dataBinding{
enable=true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}
gradle코드
문제 부분입니다
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 승원 님.
ActivityMainBinding 클래스가 import되지 않는 문제를 겪고 계시는군요. 이는 주로 데이터 바인딩이 제대로 설정되지 않았을 때 발생하는 일반적인 문제입니다. 다음은 문제를 해결하기 위한 몇 가지 방법입니다:
build.gradle
파일에서 dataBinding이 enable=true
로 활성화되어 있는 것 같습니다. 그러나, dataBinding
대신 viewBinding
을 사용해보는 것도 좋은 방법입니다. 설정은 다음과 같습니다: android {
...
buildFeatures {
viewBinding true
}
}
XML 파일의 <layout>
태그 확인: XML 파일 내에 <layout>
태그로 감싸여있는지 확인이 필요합니다. 이미 제공해주신 XML 코드에는 해당 설정이 반영되어 있어 문제가 없어 보입니다.
클린 빌드 및 캐시 무효화: Gradle 및 IDE 캐시 문제일 수 있습니다. (File > Invalidate Caches/Restart...)
를 통해 IDE의 캐시를 무효화하고 프로젝트를 클린 빌드해보세요.
바인딩 파일 자동 생성 확인: ‘R.java파일’ 같은 Resource 관련 파일들이 제대로 생성되지 않았을 경우 발생할 수 있습니다. 터미널이나 명령줄에서 프로젝트 폴더로 이동한 뒤 ./gradlew clean
명령어를 수행하여 프로젝트를 다시 빌드합니다.
비슷한 문제를 겪었던 다른 수강생들이 공유한 경험을 참고하기 위한 링크도 제공드립니다:
특정 해결 방법이 적용되지 않을 경우, 프로젝트 전체의 구조적 문제일 수 있으므로 새 프로젝트를 생성하여 동일한 코드를 적용, 작동 여부를 테스트해보는 것도 하나의 방법일 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.