[英]How to use listview and contacts to create local list of contacts?
使用以下代码,我将使用联系人的姓名和相应的复选框填充列表视图。
目前,该代码只是将整个列表吐入日志中。
我打算从列表中选择选定的联系人并将其存储在本地,以便可以在应用程序中的其他活动中使用它们。
请您提供一些指导?
我看过android文档以及此处的众多文章。 我现在在这方面寻求您的帮助。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.nominatecontactsactivitytest);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
startManagingCursor(cursor);
String[] columns = new String[] { ContactsContract.Contacts.DISPLAY_NAME};
int[] to = new int[] { android.R.id.text1 };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_multiple_choice, cursor, columns, to);
this.setListAdapter(adapter);
Button finishButton = (Button) this.findViewById(R.id.finishButton);
finishButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SimpleCursorAdapter adapter = (SimpleCursorAdapter) nominateContactsActivity.this.getListAdapter();
Cursor cursor = adapter.getCursor();
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
ListView lv = nominateContactsActivity.this.getListView();
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
for (int i = 0; i < selectedItems.size(); i++) {
int selectedPosition = selectedItems.keyAt(i);
cursor.moveToPosition(selectedPosition);
strName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
strTelNo = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.d("NAME: ",strName);
Log.d("NUM: ", strTelNo);
}cursor.close();
}
});
}
非常感谢你。
编辑:
好的,所以我将使用sharedpreferences来存储联系人的序列化数组。
我仍然面临实际生成此数组的问题-有人可以帮忙吗?
我认为通过应用程序共享数据的最佳方法是使用包含所有数据的Singleton。 这是一个很好的教程:
http://www.roseindia.net/java/beginners/SingletonPattern.shtml
如果要在应用程序的启动之间保持持久性,也可以使用SharedPreferences:
http://developer.android.com/reference/android/content/SharedPreferences.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.