【发布时间】:2016-03-15 12:49:11
【问题描述】:
public class MainActivity extends Activity {
ListView list;
LinearLayout ll;
Button loadBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ll = (LinearLayout) findViewById(R.id.LinearLayout1);
list = (ListView) findViewById(R.id.listView1);
loadBtn = (Button) findViewById(R.id.button1);
loadBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LoadContacts lc=new LoadContacts();
if(lc.execute()!=null)
{
Toast toast=Toast.makeText(MainActivity.this, "hello", Toast.LENGTH_LONG);
toast.show();
}
}
});
}
class LoadContacts extends AsyncTask<Void, Void, ArrayList<String>>
{
ProgressDialog pd;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pd = ProgressDialog.show(MainActivity.this, "Loading Contacts",
"Please Wait");
}
protected ArrayList<String> doInBackground(Void... params) {
// TODO Auto-generated method stub
ArrayList<String> contacts = new ArrayList<String>();
Cursor c = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
null, null, null);
while (c.moveToNext()) {
String contactName = c
.getString(c
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phNumber = c
.getString(c
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contacts.add(contactName + ":" + phNumber);
}
c.close();
return contacts;
}
@Override
protected void onPostExecute(ArrayList<String> contacts) {
// TODO Auto-generated method stub
super.onPostExecute(contacts);
pd.cancel();
ll.removeView(loadBtn);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getApplicationContext(), R.layout.text, contacts);
list.setAdapter(adapter);
list.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder adb=new AlertDialog.Builder(MainActivity.this);
adb.setTitle("call & message");
adb.setPositiveButton("call", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//write here call coding
}
});
adb.setNegativeButton("message", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//write here message coding
}
});
}
});
}
}
}
这是我的MainActivity.java 文件。当我删除对话代码时,它可以正常工作并加载联系人,但对话代码无法正常工作,请任何人帮助我。
【问题讨论】:
标签: android listview android-asynctask