19164


AndroidでListViewを使う際にArrayAdapterを使いますが、この第2引数のtextViewResourceIdは何を示しているのでしょうか？下記のソースの場合、android.R.layout配下のリソースファイルにsimple_expandable_list_item_1というものを書き出すことなのでしょうか？よろしくお願いします。

[code]

    ListView lv;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
         String[] members = { "mhidaka", "rongon_xp", "kacchi0516", "kobashinG",
                    "seit", "kei_i_t", "furusin_oriver" };
    
            lv = (ListView) findViewById(R.id.listView1);
    
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_expandable_list_item_1, members);
    
            lv.setAdapter(adapter);
    }
    
[/code]


CC BY-SA 3.0
2015-11-21T14:25:21.650
19134
2015-11-22T08:00:52.153
8593
question
android
AndroidでListViewを使うがArrayAdapterの第2引数のtextViewResourceIdの存在


第2引数は`textViewResourceId`ではなく`resource`ですね。

`android.R.layout.simple_expandable_list_item_1`というシステム組み込みのレイアウトリソースを利用する、ということです。

`textViewResourceId`を使うケースは、レイアウトリソースのうちどの`TextView`を利用するのかを記述する必要がある場合です。質問にあるような、`textViewResourceId`を指定しないコンストラクタにおいては、`android.R.text1`がIDの`TextView`を`findViewById()`で取得して、そこへ表示します。

* * *

**参考**

  * [ArrayAdapter - AndroidDeveloper](http://developer.android.com/intl/ja/reference/android/widget/ArrayAdapter.html)


CC BY-SA 3.0
2015-11-22T08:00:52.153
19164
2015-11-22T08:00:52.153
5337
19134
answer