SyntaxHighlighter JS

2013-03-12

Android ListView Tutorial: simple_list_item_1

This tutorial demonstrates how to display a Java List of Strings in the Android UI. This example is also applicable if using an array of Strings.

Core Concepts Covered
  1. Use the built-in android.R.layout.simple_list_item_1 to create an Android UI List.
  2. Use android.widget.ArrayAdapter to display a List of Strings data in the Android UI List.
Summary Technical Steps
  1. Create class extending android.app.ListActivity.
  2. Obtain data in List of Strings data structure.
  3. Create an android.widget.ArrayAdapter that connects the List of Strings data to android.R.layout.simple_list_item_1.
  4. Bind the android.widget.ListAdapter using the ListActivity.setListAdapter method.
Detailed Technical Steps

1. Create class extending android.app.ListActivity.

public class MainActivity extends ListActivity {

    @Override
    protected final void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}
    2. Obtain data in List of String data structure.
    For this tutorial, we will use a List of Strings containing the 13 US original colonies. View the full UsState.java code listing.

    public final class UsState {
        public static final List<String> ORIGINAL_COLONIES = initColonies();

        private UsState() { }

        private static List<String> initColonies() {
            final List<String> colonies = new ArrayList<String>();
            colonies.add("Delaware");
            colonies.add("Pennsylvania");
            colonies.add("New Jersey");

            return Collections.unmodifiableList(colonies);
        }
    }
       
    3. Create an android.widget.ArrayAdapter in the ListActivity class from step 1 that connects the List of Strings data to android.R.layout.simple_list_item_1.

        private ListAdapter createListAdapter(final List<String> list) {
            return new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
        }

    4. Bind the android.widget.ListAdapter using the ListActivity.setListAdapter method.

    public class MainActivity extends ListActivity {

        @Override
        protected final void onCreate(final Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            final ListAdapter listAdapter = createListAdapter(UsState.ORIGINAL_COLONIES);
            setListAdapter(listAdapter);
        }
    }

    View the full MainActivity.java code listing.

    The final result will look like this

     


    Source Code: Git | SVN | Download Zip

    2 comments: