本文的代码接着上一篇获取联系人信息写的。在获取联系人信息的时候,我发现遍历Cursor来获取所有联系人的信息比较慢,比如我手机上有大约不到四百人的联系方式,全部遍历一次大约需要十多秒的时间。之前查了一下,暂时没有找到太好的优化的办法。我就想要不在遍历联系人信息的时候,在界面上显示一个进度条,这样用户可以看到程序在一直运行,而不是误认为程序死掉了。
在本篇的代码中,主要是在获取联系人信息代码的基础上加上了一个ProgressDialog。代码比较简单,就不仔细说明了,下面看代码:
package com.example.contactlist;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.ContactsContract;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class Loading extends ListActivity {
Context myContext = null;
MyListAdapter myListAdapter = null;
ViewHolder viewHolder = null;
private ProgressDialog progressDialog = null;
// 用于存储联系人名称
List<String&g