IT. Expert System.

Android Reference

ListActivity


android.app

Class ListActivity

  • All Implemented Interfaces:
    ComponentCallbacks, ComponentCallbacks2, KeyEvent.Callback, LayoutInflater.Factory, LayoutInflater.Factory2, View.OnCreateContextMenuListener, Window.Callback
    Direct Known Subclasses:
    LauncherActivity, ListContextMenu, ListFilter, ListManagedCursor, ListOfButtons, ListScrollListener, ListTakeFocusFromSide, ListThrasher, ListWithDisappearingItemBug, ListWithEmptyView, ListWithFooterViewAndNewLabels, ListWithMailMessages, PreferenceActivity


    public class ListActivity
    extends Activity
    An activity that displays a list of items by binding to a data source such as an array or Cursor, and exposes event handlers when the user selects an item.

    ListActivity hosts a ListView object that can be bound to different data sources, typically either an array or a Cursor holding query results. Binding, screen layout, and row layout are discussed in the following sections.

    Screen Layout

    ListActivity has a default layout that consists of a single, full-screen list in the center of the screen. However, if you desire, you can customize the screen layout by setting your own view layout with setContentView() in onCreate(). To do this, your own view MUST contain a ListView object with the id "@android:id/list" (or android.R.id#list if it's in code)

    Optionally, your custom view can contain another view object of any type to display when the list view is empty. This "empty list" notifier must have an id "android:id/empty". Note that when an empty view is present, the list view will be hidden when there is no data to display.

    The following code demonstrates an (ugly) custom screen layout. It has a list with a green background, and an alternate red "no data" message.

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:paddingLeft="8dp"
             android:paddingRight="8dp">
    
         <ListView android:id="@android:id/list"
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:background="#00FF00"
                   android:layout_weight="1"
                   android:drawSelectorOnTop="false"/>
    
         <TextView android:id="@android:id/empty"
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:background="#FF0000"
                   android:text="No data"/>
     </LinearLayout>
     

    Row Layout

    You can specify the layout of individual rows in the list. You do this by specifying a layout resource in the ListAdapter object hosted by the activity (the ListAdapter binds the ListView to the data; more on this later).

    A ListAdapter constructor takes a parameter that specifies a layout resource for each row. It also has two additional parameters that let you specify which data field to associate with which object in the row layout resource. These two parameters are typically parallel arrays.

    Android provides some standard row layout resources. These are in the android.R.layout class, and have names such as simple_list_item_1, simple_list_item_2, and two_line_list_item. The following layout XML is the source for the resource two_line_list_item, which displays two data fields,one above the other, for each list row.

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">
    
         <TextView android:id="@+id/text1"
             android:textSize="16sp"
             android:textStyle="bold"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"/>
    
         <TextView android:id="@+id/text2"
             android:textSize="16sp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"/>
     </LinearLayout>
     

    You must identify the data bound to each TextView object in this layout. The syntax for this is discussed in the next section.

    Binding to Data

    You bind the ListActivity's ListView object to data using a class that implements the ListAdapter interface. Android provides two standard list adapters: SimpleAdapter for static data (Maps), and SimpleCursorAdapter for Cursor query results.

    The following code from a custom ListActivity demonstrates querying the Contacts provider for all contacts, then binding the Name and Company fields to a two line row layout in the activity's ListView.

     public class MyListAdapter extends ListActivity {
    
         @Override
         protected void onCreate(Bundle savedInstanceState){
             super.onCreate(savedInstanceState);
    
             // We'll define a custom screen layout here (the one shown above), but
             // typically, you could just use the standard ListActivity layout.
             setContentView(R.layout.custom_list_activity_view);
    
             // Query for all people contacts using the Contacts.People convenience class.
             // Put a managed wrapper around the retrieved cursor so we don't have to worry about
             // requerying or closing it as the activity changes state.
             mCursor = this.getContentResolver().query(People.CONTENT_URI, null, null, null, null);
             startManagingCursor(mCursor);
    
             // Now create a new list adapter bound to the cursor.
             // SimpleListAdapter is designed for binding to a Cursor.
             ListAdapter adapter = new SimpleCursorAdapter(
                     this, // Context.
                     android.R.layout.two_line_list_item,  // Specify the row template to use (here, two columns bound to the two retrieved cursor
     rows).
                     mCursor,                                              // Pass in the cursor to bind to.
                     new String[] {People.NAME, People.COMPANY},           // Array of cursor columns to bind to.
                     new int[] {android.R.id.text1, android.R.id.text2});  // Parallel array of which template objects to bind to those columns.
    
             // Bind to our new adapter.
             setListAdapter(adapter);
         }
     }
     
    See Also:
    setListAdapter(android.widget.ListAdapter), ListView
    • Field Detail

      • mAdapter

        protected ListAdapter mAdapter
        This field should be made private, so it is hidden from the SDK.
      • mList

        protected ListView mList
        This field should be made private, so it is hidden from the SDK.
    • Constructor Detail

      • ListActivity

        public ListActivity()
    • Method Detail

      • onListItemClick

        protected void onListItemClick(ListView l,
                           View v,
                           int position,
                           long id)
        This method will be called when an item in the list is selected. Subclasses should override. Subclasses can call getListView().getItemAtPosition(position) if they need to access the data associated with the selected item.
        Parameters:
        l - The ListView where the click happened
        v - The view that was clicked within the ListView
        position - The position of the view in the list
        id - The row id of the item that was clicked
      • onDestroy

        protected void onDestroy()
        Description copied from class: Activity
        Perform any final cleanup before an activity is destroyed. This can happen either because the activity is finishing (someone called Activity.finish() on it, or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the Activity.isFinishing() method.

        Note: do not count on this method being called as a place for saving data! For example, if an activity is editing data in a content provider, those edits should be committed in either Activity.onPause() or Activity.onSaveInstanceState(android.os.Bundle), not here. This method is usually implemented to free resources like threads that are associated with an activity, so that a destroyed activity does not leave such things around while the rest of its application is still running. There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

        Derived classes must call through to the super class's implementation of this method. If they do not, an exception will be thrown.

        Overrides:
        onDestroy in class Activity
        See Also:
        Activity.onDestroy()
      • setListAdapter

        public void setListAdapter(ListAdapter adapter)
        Provide the cursor for the list view.
      • setSelection

        public void setSelection(int position)
        Set the currently selected list item to the specified position with the adapter's data
        Parameters:
        position -
      • getSelectedItemPosition

        public int getSelectedItemPosition()
        Get the position of the currently selected list item.
      • getSelectedItemId

        public long getSelectedItemId()
        Get the cursor row ID of the currently selected list item.
      • getListView

        public ListView getListView()
        Get the activity's list view widget.
      • getListAdapter

        public ListAdapter getListAdapter()
        Get the ListAdapter associated with this activity's ListView.


Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 16 / 158679720. Delta: 0.04687 с