10
respostas

---String index out of range: -1, e ---Render Problem

Em resource, meu Layout não mostra as views. No lugar do Preview aparece o ícone de uma chave inglesa e o android studio apresenta 2 erros:

---String index out of range: -1

---Render Problem

Não consigo avançar no exercício sem antes resolver esse problema. Agradeço se puderem me ajudar!

10 respostas

Ley,

Consegue mandar pra gente um print da sua tela, queria entender mais a fundo o que rolou para começarmos a te dar suporte :)

Oi, matheus!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

PS: Acabei de perceber que isso tem a ver com o fato de eu estar usando ConstraitLayout ao invés do LinearLayout.

Mas mesmo quando mudo o código para LinearLayout o erro Render Problem se mantém.

O erro String index out of range: -1 desaparece, entretanto.

Consegue postar para gente o layout completo ?

Posse ser que tenha algo nele importante que não estamos vendo

Oi, matheus. Vc quis dizer o código? Se for é esse aqui:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


    <androidx.constraintlayout.widget.ConstraintLayout

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:context=".ui.activity.FormularioAlunoActivity">

        <EditText
            android:id="@+id/activity_formulario_aluno_nome"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="12dp"
            android:layout_marginTop="8dp"
            android:hint="@string/nome"
            android:inputType="textCapWords"
            app:layout_constraintTop_toTopOf="parent"
            android:autofillHints="" />

        <EditText
            android:id="@+id/activity_formulario_aluno_telefone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="12dp"
            android:hint="@string/telefone"
            android:inputType="phone"
            app:layout_constraintTop_toBottomOf="@id/activity_formulario_aluno_nome"
            android:autofillHints="" />

        <EditText
            android:id="@+id/activity_formulario_aluno_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="12dp"
            android:hint="@string/email"
            android:inputType="textEmailAddress"
            app:layout_constraintTop_toBottomOf="@id/activity_formulario_aluno_telefone"
            android:autofillHints="" />


    </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

o detalhe dos erros são esses: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

E o meu gradle está assim:

plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "alura.agenda"
        minSdkVersion 25
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    def room_version = "2.2.5"

    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"


    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

Cara tu tá usando o android studio mais recente né ? tipo o 4.x.x da vida né ?

Acho que é a mais recente sim. Minha versão é a 4.2.1

Eu dei uma lida a respeito disso, pode ser que tu apenas precise limpar tudo e buildar novamente.

Para fazer isso, basta em ir em file -> invalidate cache

Ai tu vai selecionar a primeira opção que é para invalidar e restartar, isso deve solucionar parte do problema.

Já tinha feito isso algumas vezes e não resolveu

: (

Vi outra coisa, mas não sei se vai dar certo :(

Tem uma engine nova de visualização, tanto que ele até pede para habilita-la

Acredito que tu vai precisar fazer isso

No preview, tem uma exclamação em vermelho, clica nela, ali deve dar pra você habilitar

Também já tinha tentado essa solução e não funcionou.

Acabou que um colega me deu uma dica no outro tópico sugerindo que eu revisasse o código xml e, foi só tirar essa linha aqui que tudo voltou ao normal:

android:autofillHints=""

Pior que ela não apresentava nenhum erro e o AS não dava nenhum indício que pudesse ser isso. Até agora não entendi pq essa linha de código quebrou o layout todo mas.. vida que segue

vlwww