IT박스

Android는 '? attr / selectableItemBackground'기호를 확인할 수 없습니다.

itboxs 2021. 1. 9. 09:38
반응형

Android는 '? attr / selectableItemBackground'기호를 확인할 수 없습니다.


<android.support.v7.widget.CardView
    android:id="@+id/card_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/card_outer_padding"
    android:layout_marginTop="@dimen/card_outer_padding"
    android:layout_marginRight="@dimen/card_outer_padding"
    android:layout_marginBottom='@{model.cardBottomMargin}'
    android:foreground="?attr/selectableItemBackground"
    android:onClick="@{model::onCardClick}"
    app:cardElevation="2dp"
    app:cardCornerRadius="2dp"
    app:cardUseCompatPadding="true">
</android.support.v7.widget.CardView>

이 오류 메시지가 나타납니다.

기호를 확인할 수 없음 ?attr/selectableItemBackgroundAndroid XML 파일 내의 리소스 참조를 확인합니다.

<TextView
    android:id="@+id/country_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginRight="40dp"
    android:text="@{model.name}"
    style="@style/TextAppearance.AppCompat.Headline"
    tools:text="Country"/>

그리고 위와 비슷한 오류가 발생했습니다.

'@ style / TextAppearance.AppCompat.Headline'기호를 확인할 수 없습니다
. Android XML 파일 내의 리소스 참조를 확인합니다.

어떤 포인터라도 좋을 것입니다! 감사합니다! 스레드 와 관련된 것으로 보이지만 솔루션이 제공되지 않았습니다.


이것이 IDE 및 Android Gradle 플러그인의 통신 문제라고 생각합니다. 어쨌든 문제해결할 있는 유일한 방법 폴더 에서 문제가있는 라이브러리삭제하는 것 입니다..idea/libraries/

따라서 보풀 검사가 인식하지 못하기 때문에 ?attr/selectableItemBackground

  1. Gradle__com_android_support_xxx.xml파일 찾기
  2. 해당 파일 삭제
  3. 파일 시스템과 IDE 동기화
  4. Gradle 파일이있는 SYNC 프로젝트
  5. 프로젝트 재 구축

툴바의 상단에있는 '파일'을 클릭하고 "파일 시스템과 동기화"를 선택한 다음 "gradle 파일과 프로젝트 동기화"를 선택하여 동기화 할 수 있습니다.

다른 제안 된 솔루션을 시도했습니다- appcompat-v7내 모듈 build.gradle 파일 및 google()저장소에 종속성이 프로젝트 build.gradle 종속성의 첫 번째 줄로 지정되었습니다. 나다.

이러한 솔루션도 도움이되지 않았습니다.

  • 캐시 무효화 / 다시 시작이 작동하지 않았습니다.
  • 프로젝트 청소 / 재 구축.

버전 Lollipop이상의 경우 다음을 사용하십시오.

android:foreground="?android:attr/selectableItemBackground"

위해 Pre-Lollipop이것을 사용 :

android:foreground="?attr/selectableItemBackground"

2 가지 옵션 :

옵션 1

또 다른 가능한 이유는 Google의 Maven 저장소가 빌드 스크립트에 대해 설정되지 않았기 때문입니다.

프로젝트의 기본 build.gradle을 열고 다음 줄을 추가합니다.

buildscript {
    repositories {
        google()  <-- this
        // Be also sure that google() is before jcenter()
    }
}

그렇지 않으면 Android Studio Gradle 플러그인 3.0 이상을 다운로드하지 못할 수 있습니다. jCenter가 아니라 Google의 Maven 저장소에 배포됩니다.

옵션 2

프로젝트의 루트에서이 명령을 실행하고 프로젝트를 다시 동기화하십시오.

리눅스 :

rm .idea/libraries/Gradle__com_android_support_*.xml

Windows :

del .idea\libraries\Gradle__com_android_support_*.xml


Kotlin을 업데이트 한 후에도 동일한 오류가 발생했습니다. "캐시 무효화 / 다시 시작"으로 해결됨


업데이트 오늘이 솔루션은 저에게 도움이되지 않았습니다. 하지만이 질문에 대한 해결책은 다음과 같습니다. Android Studio 3.1은 심볼 (테마, 위젯, 속성 등)을 확인할 수 없습니다.


두 리소스 모두 Android 지원 라이브러리에 정의되어 있으며 이러한 기호를 확인할 수 없기 때문에 지원 종속성을 정의하지 못한 것 같습니다.

dependencies {
    compile "com.android.support:appcompat-v7:$androidSupportVersion"
}

In my case help adding maven to build.gradle Project in buildscripts.repositories AND allprojects.repositories. It looks like this:

google()
maven { url 'https://maven.google.com' }
jcenter()

I have solved by,

  • Deleting the .idea folder in project explorer.
  • Invalidate Caches/Restart
  • Refresh Project Gradle

This is what solved to me:

  1. Close Android Studio
  2. Delete .idea directory in the root project directory

enter image description here

  1. Reimport the project

enter image description here


I updated my gradle version to 4.10.1 and fix and reimport repaired it. There were no libraries folder under .idea before.

ReferenceURL : https://stackoverflow.com/questions/44007653/android-cannot-resolve-symbol-attr-selectableitembackground

반응형