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

    3 comments:

    1. Delta I found this website crystaldiskmark and valued the dependable benchmark outputs, practical interface, and accurate performance measurements, helping users compare drives efficiently while understanding system capabilities more clearly overall. It remains informative reliable, and useful for planning improvements ahead.

      ReplyDelete
    2. Solstice I recently explored the engaging website dshidmini and appreciated its informative content, clean layout, and practical features. The platform delivers useful resources efficiently, helping visitors enjoy a seamless experience while accessing dependable information and guidance whenever needed.

      ReplyDelete
    3. Passion I recently visited the website deskpins and genuinely admired its accessible layout, dependable tools, and smooth functionality. Everything is presented clearly, helping users stay organized while enjoying a practical and professional online experience throughout.

      ReplyDelete