簡體   English   中英

類型ID的預期資源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM