如何使用TextInputLayout& Kotlin anko中的TextInputEditText

时间:2017-07-10 07:29:06

标签: android kotlin anko

Error:(63, 13) Unresolved reference: textInputLayout
Error:(64, 17) Unresolved reference: textInputEditText  

我在尝试添加textInputLayout&时遇到错误消息。 kotlin anko中的textInputEditText 以下是我的代码 -

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

2 个答案:

答案 0 :(得分:4)

在任何地方创建kotlin代码文件。将代码放在下面没有任何类声明。

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)  

希望这有帮助

编辑:根据@A Boschman的评论,anko很新,几乎没有文档。当我有同样的问题,我在互联网上搜索了很多,但没有找到任何文件 我的解决方案基于下面提到的GitHub线程 - (也没有理论上的解释)

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

答案 1 :(得分:3)

TextInputLayout位于设计支持库中,因此您需要一个额外的Anko依赖项,为您提供该库的绑定(您可以找到所有不同Anko包的列表here):

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

如果你还没有Design Support Library,你还需要{{3}}:

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