[英]Expected resource of type 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.some_name
您不能在其上傳遞整數 。
范例 :
editText {
id = R.id.userNameEditText
hintResource = R.string.create_user_hint_username
textSize = 24f
}
希望能幫助到你:)
您應該傳遞適當的唯一資源ID作為視圖ID,而不僅僅是任何int值。
首先在res/values/
下創建一個文件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
}
}
您可以使用id引用( R.id.something
)或從-16777215
到-1
負整數(並忽略警告)。
也可以使用自API 17起可用的View.generateViewId()
方法為您生成合適的負整數。源代碼可在此處獲得 。 您必須自己記住生成的值。
其他答案涵蓋了生成R.id
我正在嘗試做同樣的事情,但出現錯誤
該視頻是一年多以前發布的,當時皮棉沒有警告您有關Kotlin代碼的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.