【发布时间】:2012-03-01 14:15:00
【问题描述】:
下面显示联系人姓名的代码效果不错:
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class Authorize_Activity extends ListActivity {
Cursor mContacts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Return all contacts, ordered by name
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME }; // Would like the phone num, too
mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI,
projection, null, null, ContactsContract.Contacts.DISPLAY_NAME);
// Display all contacts in a ListView
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice, mContacts,
new String[] { ContactsContract.Contacts.DISPLAY_NAME },
new int[] { android.R.id.text1 });
setListAdapter(mAdapter);
}
}
..但是显示名称的复选框(通过本机 simple_list_item_multiple_choice 布局)不会保留点击 - 当您按下复选框时,复选框保持选中状态,但似乎没有保持点击状态(或者,或者复选框在黑色背景下是黑色的,就像黑豹上的斑点,我看不到它。
我看到其他人过去也遇到过这个问题,但是与提到的复杂解决方法相比,必须有一种不那么老套/笨拙的方法来解决这个问题。毕竟,不能勾选的复选框有什么用呢?
【问题讨论】:
标签: android android-layout android-listview android-contacts