2016-07-22 16 views
0
Note: This string resource has the same name as the element ID: edit_message. However, references to resources are always scoped by the resource type (such as id or string), so using the same name does not cause collisions. " 

を追加し、次のXMLはが何を上に与えられたテキストで文字列リソース

<EditText android:id="@+id/edit_message" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:hint="@string/edit_message" /> 
+0

ええと、あなたのstrings.xmlファイルを教えてください....? – Razgriz

+0

String.xmlファイルでedit_messageをedit_mesに変更し、テキストエディットで使用しようとするヒントandroid:hint = "@ string/edit_mes" –

答えて

0

@id/@string/

をスコープスニペットに文脈において、「リソースへ の参照は常にがスコープされています」

両方のIDが同じですが、スコープが異なるために衝突しません

0

は、この文字列リソースは、要素のIDと同じ名前を持っています。ここedit_message

は、文字列リソースはedit_messageとして名前があり、EDITTEXTも名前edit_messageを持っています。リソースへ

参照は、常にこれは、あなたがR.id.edit_messageを行っている場合、それはEDITTEXTedit_textにスコープすることを意味し、リソースタイプ

によってスコープされています。これはidタイプを参照しているためです。あなたがR.string.edit_textをすれば

そして、それは、文字列タイプedit_textの範囲は、このため文字列タイプを参照されます。

したがって、リソースへの参照は常にリソースタイプ

0

によってスコープされているそれはあなたのIDと文字列の両方が同じname.Butを持っていることを意味し、両方の二つの異なる範囲を持っていると言われています。 @idR.id.edit_messageすなわちidクラスを検索しますが、@stringR.string.edit_messageを検索します。

だから心配はいりません。

関連する問題