2017-07-10 5 views
2
Error:(63, 13) Unresolved reference: textInputLayout 
Error:(64, 17) Unresolved reference: textInputEditText 

ich oben Fehlermeldung, wenn ich versuche textInputLayout & textInputEditText in Kotlin anko hinzuzufügen. mein Code
Nachfolgend finden -So verwenden TextInputLayout & TextInputEditText in Kotlin anko

private fun test(context: Context): View{ 
    return with(context){ 
     verticalLayout { 
      textInputLayout { 
       textInputEditText{} 
      } 
     } 
    } 
} 

Antwort

2

Erstellen Sie eine Kotlin-Code-Datei, wo immer Sie möchten. Setzen Sie den folgenden Code ohne eine Klassendeklaration.

inline fun ViewManager.textInputEditText() = textInputEditText {} 
inline fun ViewManager.textInputEditText(theme: Int = 0, init: TextInputEditText.() -> Unit) = ankoView({ TextInputEditText(it) }, theme, init) 

inline fun ViewManager.textInputLayout() = textInputLayout {} 
inline fun ViewManager.textInputLayout(theme: Int = 0, init: TextInputLayout.() -> Unit) = ankoView({ TextInputLayout(it) }, theme, init) 

hoffe, das hilft

EDIT: auf der Grundlage der Kommentar von @A Boschman, anko sehr neu und es gibt fast keine Dokumentation. Als ich das gleiche Problem hatte und ich viel im Internet suchte, fand ich keine Dokumentation.
Meine Lösung ist unten erwähnt Thread auf GitHub basierend auf - (es auch theoritical Erklärung nicht)

https://github.com/Kotlin/anko/issues/205
https://github.com/Kotlin/anko/issues/264

+0

Könnten Sie bitte näher erläutern? Warum funktioniert das? Bitte beachten Sie, dass Code-only-Antworten im Allgemeinen nicht als sehr hilfreich angesehen werden. –

1

TextInputLayout im Design Support-Bibliothek ist, so dass Sie eine zusätzliche Anko Abhängigkeit benötigen, die Sie Bindungen für diese Bibliothek gibt (eine Liste aller verschiedenen Anko Pakete here finden) :

compile "org.jetbrains.anko:anko-design:$anko_version" 

Sie brauchen auch die Design Support Library selbst wenn Sie es noch nicht haben:

compile 'com.android.support:design:25.4.0' 
Verwandte Themen