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.