2012-05-02 13 views
0

ウェビナーでも短期間で方法を教えることができ、アンドロイドの開発者がコードを書くときの考え方を教えてくれるが、今問題があるので、ブックを読む代わりに、ウェビナーがうまくいくかもしれないと考える。CheckedTextView属性IDとcheckMark

<CheckedTextView 
android:id="@android:id/text1" 
android:checkMark="?android:attr/listChoiseIndicatorMultiple" 
</> 

私は今、それらのいくつかは、資源のためだっ異なるIDの定義の多くを見ると、@リソース/名で起動するように上記のコードを理解しないと、これらのIDの定義のいくつかはちょうどのために@ + ID /名前のようでしたコンポーネントの新しいIDを作成しますが、今回はアンドロイド:id/text1を使用していますが、なぜこの方法で使用しているのかわかりません。

さらに、checkMarkのことは、それらすべてが何であるか混乱させてしまいますか?アンドロイド:attr/listChoiseIndicatorMultipleはどういう意味ですか?

あなたは私を説明し、私がすべてのそれらの魔法は、私は自分で次回に対処し、いつかは他の初心者の質問に

事前のおかげで多くの、そしてすべてに答えることを願ってすることができます属性を見つけることができるいくつかのリソースを表示してもらえコメントは高く評価されます。

答えて

0

まあ、ドキュメントを読んだことはいつも私に役に立っています

Android Developer Site

XML Layout specific docs

@android:id/text1はidが以前に定義されたときに使用されるだけの形式です。そこに+を置くと、フレームワークはリソースIDをまだ作成していない場合に作成する必要があります。

レイアウトで新しいビューを定義するときは@ + id/thisidを使用し、レイアウトの別の部分から前述のビューを参照するには@ id/thisidを使用するのが普通です(たとえばRelativeLayoutではあるウィジェットに別のウィジェットが存在しないように指示します)。

IDの前の疑問符は、属性をハードコードするのではなく、スタイルテーマで定義されているスタイル属性にアクセスすることを示します。

0

@android:id/text1基本的にこれは、あなたがボタン、レイアウトなどの任意のアンドロイドコンポーネントを作成する際に、使用textviewsなど

いますが、任意の色のような別のプラットフォーム用に一般的である任意の外部コンポーネント、画像などを必要とするとき、あなたが宣言することができていますそれは@resource/nameです。 のidには、単にクラス名として動作し、textview、imageviewなどの他のオブジェクトが含まれることに注意してください。

@resource/nameを宣言すると、idの代わりに、その名前もリソースになります。実際にあなたがjavaでそれを使用するとき、これら(@android:id/text1)はオブジェクト階層に変換されます。

関連する問題