Nie można rozpoznać zasobu @ id / visible podczas korzystania z TextInputLayout

80

Nie można rozwiązać zasobu @id/visiblepodczas używania TextInputLayoutnaappcompat-v7:25.x.x

Wypróbowałem poniższe kroki, ale problem nadal występuje:

  1. Przebuduj projekt
  2. Wyczyść i odbuduj projekt
  3. Wyczyść pamięć podręczną i uruchom ponownie Android Studio

Poniżej znajduje się kod w pliku układu.

    <android.support.design.widget.TextInputLayout
            android:id="@+id/tilFirstName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/etFirstName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/first_name"
                android:inputType="textPersonName"/>
    </android.support.design.widget.TextInputLayout>

Poniżej znajduje się komunikat wyświetlany w Android Studio

Problemy z renderowaniem.

Nie udało się rozwiązać zasobu @id/visible

Wskazówka: spróbuj odświeżyć układ.

UWAGA: @id/visiblenie występuje w kodzie.

FanFM
źródło
Gdzie jest twój android:id="@id/visible"widok?
Phantômaxx
1
nie t know, i didnużywam go w kodzie
FanFM
Czyj to kod? Czy to nie jest twoje?
Phantômaxx
mój kod, ale nie używam widoku z @ id / widocznym w tym układzie
FanFM
Może występuje odniesienie w niektórych stylach lub motywach?
Phantômaxx

Odpowiedzi:

225

To przeszkadza w oknie Rendering Problems

Jak naprawić: dodaj te wartości do dowolnego pliku wartości (nazwa pliku nie wydaje się mieć znaczenia, używam ids.xml, możesz również użyć istniejącego, takiego jak colors.xmllub strings.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="visible" type="id"/>
    <item name="masked" type="id"/>
</resources>
Shujito
źródło
2
Doskonały! Utworzono ids.xmlplik pod res.valuespakietem z powyższą zawartością
Marcelo Gracietti
1
Tak, to działa. Myślę, że spowoduje to problemy później, gdy oryginalny błąd zostanie rozwiązany, więc radziłbym zachować czujność.
David
3
zamiast tworzyć dowolny inny plik xml, dodałem te wiersze do strings.xml.
Prabs
@Prabs, tak, nazwa pliku zasobów nie ma znaczenia, gdzie to jest, może zostać dodany do colors.xmlrównież
Shujito
1
@Shujito Tak, to działa. Odpowiedz, dlaczego to zadziałało i jaki był problem, który spowodował ten błąd.
ZaidRehman
13

Nie ma potrzeby zmiany interfejsu API

Nie udało się rozwiązać zasobu @string/faq_customer_service

lub

Nie udało się rozwiązać zasobu @id/visible

lub

Nie udało się rozwiązać zasobu @id/masked

Rozwiązanie jest takie, że jeśli zaimplementujesz TextInputLayoutpowyższe problemy, mogą pojawić się ... więc po prostu dodaj te id lub ciągi do plików xml jako ich własność.

keshav mainali
źródło
22
Nie rozumiem
Shujito
5

Dodaj wartość poniżej tagu w pliku strings.xml:

 <item name="visible" type="id"/>
 <item name="masked" type="id"/>
Sumant Singh
źródło