2017-08-20 12 views
0

私はANKOを使用して簡単なプロジェクトを構築しています。 EditTextのIDを設定しようとすると、次のエラーが発生します。予想されるタイプ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 
     } 
    } 
} 
} 

click here to view an error image format

+0

[youtube.com/watch?v=a0lxfdoOhSE&t=219s]誰かが私がedittextにidを追加する方法を教えてください。私は同じことをしようとしていますが、エラーが発生しています。あなたはビデオを8:00分に転送することができます –

答えて

1

あなたは、ID参照(R.id.something)を使用するか、または:

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

</resources> 

は今idEditTextとしてその使用します負の整数は-16777215から-1になります(警告は無視されます)。

API17から利用可能なView.generateViewId()メソッドを使用して、適切な負の整数を生成することもできます。ソースコードはhereです。生成された値を自分で覚えておく必要があります。

R.idの生成については、他の回答があります。

私は同じことをやろうとしているが、ビデオは一年以上前に出版されたとlintは当時Kotlinコードについて警告しませんでした

エラーを取得しています。

1

あなたは、あなたがそれに整数を渡すことはできませんR.id.some_name

としてIDを渡す必要があります。

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

はそれが役に立てば幸い:)

+0

未解決の参照:R.id.somename –

+0

必要なIDを生成するためにids.xmlファイルを作成します:https://developer.android.com/samples/BatchStepSensor/res/値/ ids.html – Kiskae

+0

[https://www.youtube.com/watch?v=a0lxfdoOhSE&t=219s]誰かがedittextにidを追加する方法を教えてください。同じことをやろうとしていますが、エラーが発生しています –

1

あなたは、ビューのidのための適切な一意のリソースIDを渡すだけでなく、任意のint値必要があります。

まずres/values/の下でファイルids.xmlを作成し、EditTextためidを追加します。

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

[youtube .com/watch?v = a0lxfdoOhSE&t = 219s]誰かが私がedittextにidを追加する方法を教えてもらえますか?同じことをやろうとしていますが、エラーが出ます。あなたはビデオを8:00に転送することができます –

+0

私はあなたの方法がすべて動作すると確信しています私は彼がこのビデオで行ったのはどういうことだろうと思います [youtube.com/watch?v = a0lxfdoOhSE&t = 219s]あなたは彼が 'edittext'にIDを追加する方法を教えてください。私は同じことをしようとしていますが、エラーが出ます。あなたは8時分のビデオをスキップすることができます。 –

関連する問題