在我的程序中,我从 json URL 中检索值,然后在 listView 中显示它们。现在我想从列表中删除一些项目,所以当我单击一个项目时,删除 API 在 AsyncTask 的 doInBackground() 中调用。现在完成 AsyncTask 后,我想重新加载列表,以便可以看到更改。
我怎样才能重新加载列表以查看更改..
我的 AsyncTask 是一个单独的类。
这是我的 AsyncTask 代码:
protected String doInBackground(String... DATA) {
// TODO Auto-generated method stub
rqst_type = DATA[0];
if(rqst_type.equals("del_top5"))
{
String url = DATA[1];
JsonParser jParser = new JsonParser();
JSONObject json = jParser.getJSONfromUrl(url+memberId);
Log.v(TAG_LOG, "del url: "+url+memberId);
try
{
message = json.getString(TAG_DELSCS);
Log.v(TAG_LOG, "msg "+TAG_DELSCS);
}
catch(JSONException e)
{
Log.v(TAG_LOG, String.valueOf(e));
}
}
return null;
}
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if(rqst_type.equals("del_top5"))
{
if(message.equals("true"))
{
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("Course Deleted");
alertDialog.setMessage("Course Sucessfully Deleted");
alertDialog.setIcon(R.drawable.tick);
alertDialog.setButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
});
alertDialog.show();
}
else if(message.equals("false"))
{
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("Error");
alertDialog.setMessage("Course Not Deleted");
alertDialog.setIcon(R.drawable.alert);
alertDialog.setButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
});
alertDialog.show();
}
else
{
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("Error");
alertDialog.setMessage("Unknown Erroe Occured");
alertDialog.setIcon(R.drawable.alert);
alertDialog.setButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
});
alertDialog.show();
}
}
progress.dismiss();
}
我的 Activity 的名称是MyTop5.class
我想在单击 AlertDialog 的 OK 按钮时重新加载..
这是我的 ListAdapter 的代码:
ListAdapter adapter = new SimpleAdapter(this, LoadingScreen.top5List, R.layout.top5_list,
new String[] { TAG_GLFCRSNAME, TAG_GLFCRSID, TAG_CRTDATE, TAG_FCLTY, TAG_HOLES },
new int[] { R.id.top_golfname, R.id.top_courseid, R.id.top_createdate, R.id.top_fclty, R.id.top_holes });
setListAdapter(adapter);
提前致谢..