「android.R.layout.simple_list_item_1」とは何ですか?


229

私はAndroid開発の学習を開始し、本のtodolistの例に従っています:

// Create the array list of to do items
final ArrayList<String> todoItems = new ArrayList<String>();

// Create the array adapter to bind the array to the listView
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(  this, 
                                android.R.layout.simple_list_item_1,
                                todoItems
                            );
myListView.setAdapter(aa);

私はこのコード、特にこの行を正確に理解できません:

android.R.layout.simple_list_item_1

しかし、なぜそれがパラメータなのでしょうか?リストビューを私の配列で更新したかっただけで、答えの1つにこれが示されました。なぜこれが必要なのかわかりません...これが私の質問です。ありがとう!stackoverflow.com/questions/35098789/...
Ruchir Baronia

回答:


259

Zakariaは、独自のXMLレイアウトの1つではなく、Android OSの一部である組み込みXMLレイアウトドキュメントへの参照です。

ここでは、使用できるレイアウトの更なるリストは次のとおりです。 http://developer.android.com/reference/android/R.layout.html
(更新リンク感謝@Estel:https://github.com/android/platform_frameworks_base/ツリー/マスター/コア/解像度/解像度/レイアウト

実際にレイアウトのコードを表示できます。


15
レイアウトはSDKインストールにも含まれています
CommonsWare

10
ええ、そうです。:P私は以前にEclipse内でandroid jarを参照するだけでそれらを探してみましたが、「ソースが見つかりません」とだけ表示されました。しかし、そうです、それらはプラットフォーム> android-x>データ> res>レイアウトの下にあります。よかった。:)
Kevin Coppock

8
これは、個々の行に使用するレイアウトをリストビューに指示します。複数選択用のチェックされたテキストビューを持つ他のものがあります。たとえば、画像や複数のテキストビューを含むカスタムレイアウトを作成できます。これらのandroid.Rは、使いやすく、すでに作成されたリソースです。
Kevin Coppock

30
ありがとう!うわー、それはたくさんのレイアウトです。すべてのAndroidリファレンスは、それらについて(R.layout.htmlで)明らかにしているようですが、各IDの定数値です。サンプルユースケースでこれらのそれぞれを説明するドキュメントはありますか?(たとえば、「レイアウトXは次のようになります[フィールドIDの図]。これは、ケースa、b、cで最適に使用されます。アプリYで実際に見ることができます。)はい、知っていること素晴らしいボールトを略奪し、これをすべて自分でハッキングしますが、スキャン可能なイラストのリスト(vs XML)は非常に役立ちます。
Joe D'Andrea

12
これはGoogleの典型的な慣行のようです。彼らはこの素晴らしいテクノロジーをすべてリリースし、IBMのすべてのドキュメンテーションスキルを持っています。
angryITguy

35

これはAndroid OSの一部です。以下は、定義されたXMLファイルの実際のバージョンです。

simple_list_item_1:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/listItemFirstLineStyle"
    android:paddingTop="2dip"
    android:paddingBottom="3dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

simple_list_item_2:

<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView android:id="@android:id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        style="?android:attr/listItemFirstLineStyle"/>

    <TextView android:id="@android:id/text2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@android:id/text1"
        style="?android:attr/listItemSecondLineStyle" />

</TwoLineListItem> 

13

上記の回答:kcoppockとJoril

ここに行きます:https : //github.com/android/platform_frameworks_base/tree/master/core/res/res/layout

必要なレイアウトファイルを右クリックして[名前を付けて保存]を選択し、どこかに保存してから、androidプロジェクト(eclipse)の[layout]フォルダーにコピーします。

あなたはレイアウトがどのように見えるかを見ることができます:)

行く方法...


9

Klapが述べたように、「android.R.layout.simple_list_item_1は、Android OSの一部である組み込みXMLレイアウトドキュメントへの参照です」
すべてのレイアウトは次の場所にあります:sdk \ platforms \ android-xx \ data \ res \ layoutレイアウト
のXMLを表示するには:
Eclipse:コードのどこかにandroid.R.layout.simple_list_item_1と入力し、Ctrlキーを押しながらsimple_list_item_1にカーソルを合わせ、表示されるドロップダウンから[layout / simple_list_item_1.xmlで宣言を開く]を選択します。XMLのコンテンツに移動します。
Android Studio:Project Window-> External Libraries-> Android X Platform-> res-> layout、ここに利用可能なレイアウトのリストが表示されます。
ここに画像の説明を入力してください


7

android.R.layout.simple_list_item_1、これはres / layoutフォルダーの行レイアウトファイルで、の行に対応するデザインが含まれていますlistview。次に、配列リスト項目を行レイアウトにバインドするだけmylistview.setadapter(aa)です。


5

外部リンクにアクセスする必要はありません。必要なものはすべて既にコンピューターにあります。

Android \ android-sdk \ platforms \ android-x \ data \ res \ layout。

すべてのAndroidレイアウトのソースコードはここにあります。


4

Arvandごと:
Eclipse:コードのどこかにandroid.R.layout.simple_list_item_1と入力し、Ctrl キーを押しながらsimple_list_item_1にカーソルを合わせ、表示されるドロップダウンから[ layout / simple_list_item_1.xmlで宣言を開く ]を選択します。XMLのコンテンツに移動します。

そこから、エディターの結果のsimple_list_item_1.xmlタブにカーソルを合わせると、ファイルがC:\ Data \ applications \ Android \ android-sdk \ platforms \ android-19 \ data \ res \にあることがわかります。layout \ simple_list_item_1.xml(またはインストールに相当する場所)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.