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.


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>

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ść.


22
Nie rozumiem
Shujito

5

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

 <item name="visible" type="id"/>
 <item name="masked" type="id"/>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.