0

アンドロイドで開発を開始し、本を読む代わりにウェビナーの方が良いと考えてください。ウェビナーは、コードを書くときにAndroid開発者がどのように考えるかについても教えてくれるので、問題が発生しました。

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

私は今まで上記のコードを理解していませんが、それらのいくつかはリソース用であり、@ resource / nameで始まり、それらのid定義のいくつかは@ + id/nameのようなものでした。コンポーネントですが、今回はandroid:id / text1を使用しており、なぜそのように使用しているのかわかりません

その上、checkMarkのことで、私はもっと混乱しますか?android:attr / listChoiseIndicatorMultipleはどういう意味ですか?

私に説明して、これらの魔法の属性をすべて見つけることができるリソースを教えてください。次回は自分で対処でき、いつか他の初心者の質問に答えられることを願っています。

よろしくお願いします。コメントをいただければ幸いです。

4

2 に答える 2

0

まあ、ドキュメントを読むことは私にとって常に役に立ちました:

Android開発者サイト

XMLレイアウト固有のドキュメント

@android:id/text1idが以前に定義されているときに使用される単なる形式です。そこに+を入れると、フレームワークがリソースIDをまだ存在しない場合は作成する必要があることを意味します。

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

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

于 2012-05-02T14:15:45.200 に答える
0

@android:id/text1基本的にこれは、ボタン、レイアウト、テキストビューなどのAndroidコンポーネントを作成するときに使用されます。

ただし、色や画像など、さまざまなプラットフォームに一般的な外部コンポーネントが必要な場合は、として宣言できます@resource/name

実際には、クラス名にtextview、imageviewなどの他のオブジェクトが含まれるため、@android:id/text1で機能することを覚えておいてください。id

今宣言すると、その中でクラス名@resource/nameの代わりにリソースになります。id実際にJavaで使用する場合、these(@android:id/text1)はオブジェクト階層に変換されます。

于 2012-05-02T14:23:37.753 に答える