【发布时间】:2018-04-27 12:17:33
【问题描述】:
我想在列表视图上显示新工作服务器的信息。当我点击某个项目时,它会再次搜索网络,返回一些数据,在对话框中显示它们。我使用了两个 AsyncTasks 来实现它。但是,当我单击该项目两次(单击该项目一次即可)时,它坏了。我调试后发现,第二次它甚至根本没有进入 itemclicklistener 方法。无法修复错误...非常感谢任何帮助。 这是部分代码。首先是onitemclicklistener
private class lvVoteItemOnItemClickListener implements AdapterView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
HashMap<String, String> map = (HashMap<String, String>) lvVoteItem.getItemAtPosition(arg2);
if (clickID != Integer.parseInt(map.get("id"))) {
clickID = Integer.parseInt(map.get("id"));
new VoteAccountTask().execute(map.get("id"));
} else {
new AlertDialog.Builder(VoteSummaryActivity.this).setTitle(res)
.setIcon(null)
.setView(null)
.show();
String temp = "";
}
}
}
其次,显示对话框AsyncTask
public class VoteAccountTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... param) {
return searchVoteAccountWebservice(Integer.parseInt(param[0]));
}
@Override
protected void onPostExecute(String result) {
//votedetail.itemID + signal + votedetail.vID + signal + votedetail.itemName + signal + votedetail.ifUserDefine + signal + votedetail.creater +signal + votedetail.createDate
super.onPostExecute(result);
res = setStringsByWebString(result, VoteSummaryActivity.this.getString(R.string.datasetserStr1), VoteSummaryActivity.this.getString(R.string.datasetserStr2));
new AlertDialog.Builder(VoteSummaryActivity.this).setTitle(res)
.setIcon(null)
.setView(null)
.show();
}
}
【问题讨论】:
-
放你的logcat
标签: android listview android-asynctask android-alertdialog