预期的类型ID资源

我正在使用ANKO建立简单的项目。 当我尝试为EditText设置id时,出现以下错误。

确保传递给API的资源ID是正确的类型; 例如,调用Resources.getColor(R.string.name)是错误的。

 import android.support.v7.app.AppCompatActivity import android.os.Bundle import org.jetbrains.anko.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) relativeLayout { editText{ id = 1 } } } } 

点击这里查看错误图像格式

您可以使用id引用( R.id.something )或从-16777215-1负数(并忽略警告)。

通过使用自API 17以来可用的View.generateViewId()方法,也可以为您生成合适的负整数。源代码可在此处获得 。 你必须自己记住生成的值。

生成一个R.id覆盖在其他答案。

我正在尝试做同样的事情,但得到一个错误

这个视频是在一年前发布的,当时林特没有提醒你有关Kotlin的代码。

你应该传递一个id作为R.id.some_name

你不能传递整数

例如

 editText { id = R.id.userNameEditText hintResource = R.string.create_user_hint_username textSize = 24f } 

希望它有助于:)

您应该传递适当的唯一资源ID视图的ID,而不只是任何int值。

首先在res/values/ ids.xml下创建一个文件ids.xml并为你的EditText添加一个id

 <?xml version="1.0" encoding="utf-8"?> <resources> <item name="edit_text" type="id"/> </resources> 

现在使用它作为EditText id

 relativeLayout { editText{ id = R.id.edit_text } }