Android list implementation of of 2 _ cursor list case

  • 2020-05-07 20:27:01
  • OfStack


import android.app.ListActivity; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.provider.Contacts.Phones; 
import android.widget.ListAdapter; 
import android.widget.SimpleCursorAdapter; 

/** 
* A list view example where the 
* data comes from a cursor, and a 
* SimpleCursorListAdapter is used to map each item to a two-line 
* display. 
*/ 
public class List3 extends ListActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

// Get a cursor with all phones 
Cursor c = getContentResolver().query(Phones.CONTENT_URI, null, null, null, null); 
startManagingCursor(c); 

// Map Cursor columns to views defined in simple_list_item_2.xml 
ListAdapter adapter = new SimpleCursorAdapter(this, 
android.R.layout.simple_list_item_2, c, 
new String[] { Phones.NAME, Phones.NUMBER }, 
new int[] { android.R.id.text1, android.R.id.text2 }); 
setListAdapter(adapter); 
} 

}

note that this example gives permission to the program :

<uses-permission android:name="android.permission.READ_CONTACTS"/> 

simple_list_item_2.xml

<?xml version="1.0" encoding="utf-8"?> 
<!-- Copyright (C) 2006 The Android Open Source Project 

Licensed under the Apache License, Version 2.0 (the "License"); 
you may not use this file except in compliance with the License. 
You may obtain a copy of the License at 

http://www.apache.org/licenses/LICENSE-2.0 

Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an "AS IS" BASIS, 
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
See the License for the specific language governing permissions and 
limitations under the License. 
--> 

<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:minHeight="?android:attr/listPreferredItemHeight" 
android:mode="twoLine" 
> 

<TextView android:id="@android:id/text1" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginLeft="?android:attr/listPreferredItemPaddingLeft" 
android:layout_marginTop="8dip" 
android:textAppearance="?android:attr/textAppearanceListItem" 
/> 

<TextView android:id="@android:id/text2" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_below="@android:id/text1" 
android:layout_alignLeft="@android:id/text1" 
android:textAppearance="?android:attr/textAppearanceSmall" 
/> 

</TwoLineListItem>

Related articles: