Can anyone explain android.R.layout.simple_list_item_1 and android.R.layout.simple_list_item_2 in arrayadapter in Android?
I know in android.R.layout.simple_list_item_1 and android.R.layout.simple_list_item_2 are layouts that are defined by Android itself.
android.R.layout.simple_list_item_1 only contains one TextView, but android.R.layout.simple_list_item_2 contains two TextViews.
I would like an example for android.R.layout.simple_list_item_2. How do I show two TextViews in a ListView using adapter?
My code is
package com.app.listview;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ExampleListViewActivity extends Activity {
private String[] nameArr = new String[] {"Arun", "Anil", "Ankit", "Manoj"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView listView = (ListView) findViewById(R.id.lv);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
nameArr);
listView.setAdapter(adapter);
}
}
The difference is the following.
simple_list_item_1contains only aTextView, whereassimple_list_item_2has two inside a subclass ofRelativeLayout. These are both taken from Jelly Bean.simple_list_item_1
simple_list_item_2
According to the docs for ArrayAdapter:
So by default, an
ArrayAdapterdoesn’t automatically fill in multipleTextViewinstances. You can, however, override thegetView()method and fill in the twoTextViews that appear inR.layout.simple_list_item_2