Depois de migrar para o Android Studio 3.2, API 28, estou recebendo o seguinte erro no layout do meu aplicativo:
O layout no layout não tem declaração na pasta de layout base; isso pode levar a travamentos quando o recurso é consultado em uma configuração que não corresponde a este qualificador
Um dos layouts em que estou recebendo esse erro é:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@null" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="@string/hello_world"
android:src="@drawable/loading_top" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:adjustViewBounds="true"
android:contentDescription="@string/hello_world"
android:src="@drawable/loading_bottom" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@string/hello_world"
android:background="@color/white"
android:layout_marginBottom="5dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:src="@drawable/loading_logo" />
<ImageView
android:id="@+id/loading"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="center|center_vertical"
android:layout_marginBottom="0dp"
android:layout_marginTop="0dp"
android:contentDescription="@string/hello_world"
android:scaleType="fitXY"
android:src="@null" />
</FrameLayout>
</LinearLayout>
Recebo o erro na primeira linha do primeiro LinearLayout.
Alguém sabe como resolver esse erro?
Obrigado
ATUALIZAÇÃO: Respondeu minha pergunta com o que resolveu o problema para mim
android
xml
android-studio
L Kemp
fonte
fonte
Respostas:
No meu caso, fechar e reabrir o Android Studio resolveu o problema. Reconstruir o projeto ou limpar o cache não ajudou.
fonte
Você também pode tentar isso:
Arquivo => Invalidar Caches / Reiniciar => Invalidar e Reiniciar.
fonte
No meu caso foi o uso de letras maiúsculas no nome do arquivo. Deixei tudo em minúsculas e foi corrigido.
fonte
Se você planejar seu layout: layout-sw320dp layout-sw480dp layout-sw600dp layout-sw720dp ....
você deve adicionar layout por padrão como este:
fonte
Recebi este erro ao mover arquivos de layout entre módulos do Gradle . Não precisei ir tão longe a ponto de invalidar caches, pois isso se resolveu quando reiniciei
Android Studio
e limpei o projeto . Parece provável que seja um bug do IDE .fonte
No meu caso, resolvi isso com o seguinte :
o Android me diz este id-erro: MissingDefaultResource como documentação diz:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingDefaultResource" <!--this--> android:layout_width="match_parent" android:layout_height="match_parent">
Mas esta é a solução fácil, pois faz falta o recurso no Android.
Eu resolvo isso com a opção de sistema de arquivos . Se o Android informar sobre a falta de recursos, significa que algo está faltando e você deve reabastecê-los.
você deve ir para \ app \ src \ main \ res
talvez: clique com o botão direito na pasta ausente do arquivo, mostre no Exporer e volte para \ app \ src \ main \ res
Você deve ser encontrado
Você deve encontrar onde os arquivos estão faltando. No meu caso, isso está faltando em / layout
fonte
eu apenas fiz
Build > Clean Project
fonte
No meu caso, esse problema foi causado por letras maiúsculas. Caracteres errados como "-" também podem causar o problema. Alterei o nome de
Activity_disease.xml
paraactivity_disease.xml
e o problema foi corrigido.fonte
Nada funcionou para mim como reconstruir o projeto ou invalidar o cache. No meu caso, fechar e reabrir o Android Studio resolveu o problema .
fonte
No meu caso, parece que o Google costumava esperar (ou pelo menos aceitar) nomes diferentes entre layouts diferentes; Eu tive um
time_dialog.xml
e umtime_dialog_landscape.xml
. Renomeando o último paratime_dialog.xml
corrigir o problema.fonte
Resolvi esse problema apenas sincronizando o projeto com o Gradle
fonte
Para mim, as etapas a seguir fizeram com que funcionasse:
fonte
strings.xml
também, concordo com este aquiEste problema parece estar acontecendo porque o studio ou compilador não consegue encontrar o arquivo de recursos dentro da pasta de layout base. Para resolver o problema, pode ser necessário criar o arquivo em diferentes pastas de layout. Se você estiver usando pastas de layout v21, v25 etc. pastas para projetar layouts para diferentes dispositivos de destino, você também pode precisar colocar seus arquivos de recurso lá.
fonte
No meu caso, este aviso apareceu devido ao caractere "errado" (ponto) usado no nome do valor:
<dimen name="dp.divider.xlarge">24dp</dimen>
Remover pontos (clique com o botão direito em um nome e, em seguida, Refactor-Rename no Android Studio) resolveu o problema.
fonte
Atrasado para a festa, mas Meu caso é diferente de cima.
Acabei de renomear o recurso e ele começou a funcionar.
Na verdade, meu nome de recurso era ic_menu_black_24dp.xml, por isso estava em conflito com o recurso de menu do android.
fonte
O que funcionou para mim foi remover o atributo id
do recurso de layout.
fonte
O que resolveu para mim:
No Android Studio, clique com o botão direito do mouse no nome do arquivo no diretório de layout e escolha Reformatar código , sem nenhuma caixa de seleção especial selecionada na tela seguinte.
Não tenho certeza do que exatamente acontece sob o capô aqui, mas funcionou.
fonte
Tive um problema depois de copiar / colar o código em um arquivo de layout XML, mas resolvi apenas criando o arquivo manualmente. Muito estranho, já que o código era exatamente o mesmo, mas de alguma forma ele corrigiu esse problema. Tentei reiniciar e fazer a correção "Arquivo => Invalidar Caches / Reiniciar => Invalidar e Reiniciar", mas o problema só foi corrigido recriando manualmente o arquivo.
fonte
Note que quando você está usando diferentes versões de layout como ( Grande / Pequeno / Nornal ) então nesse caso você tem a mesma pasta de layout principal. assim
fonte
(1) Exclua o layout original.
(2) Adicione o layout novamente.
Passo 1
Passo 2
fonte
No meu caso, o mesmo erro foi mostrado porque o arquivo de layout e o nome do arquivo de layout eram diferentes.
Meu caso: layout-land -> layout my_layout_land -> my_layout
Resolvi o problema tornando os nomes de arquivo iguais. Porque se você estiver usando layout-land e tiver um arquivo no layout-land, então você deve ter um arquivo na pasta de layout também.
fonte
Copiei os arquivos xml da pasta usando o Windows Explorer. Parece ter causado um problema de codificação. Depois de excluir os arquivos e copiá-los dentro do Android Studio, o problema foi resolvido.
fonte