Listview点击弹出对话框,第二次失败

bluehale 2017-11-14 09:43:19
一个ListView,数据是通过异步进程查询网络服务器返回的;如果点击ListView的Item,根据Item的ID进行查询,用异步进程查询网络返回数据,并弹出一个信息框。点击事件代码如下:
private class lvVoteItemOnItemClickListener implements AdapterView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//获得选中项的HashMap对象
int i = 2;
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 = "";
}

}
}

异步查询的代码如下:
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();
}

第一次点击可以正常查询,问题是第二次就直接退出了,debug跟踪发现第二次点击item,连Item的Listener方法都没有进入,直接就退出,也找不到错误点,请问各位碰到过吗?如何解决呢?先谢谢了
...全文
242 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongyuanceshi 2017-11-19
  • 打赏
  • 举报
回复
多半是其他原因引起的。看看点击第二次的前后log
r00_a2lBUR 2017-11-18
  • 打赏
  • 举报
回复
可能是主线程被阻塞了
Jing丶無雙 2017-11-15
  • 打赏
  • 举报
回复
1.贴下你的报错日志 2.你的网络请求是放在了非UI线程中么?网络请求后得到的数据是不是用于了UI界面的更新,如果是,你用了Handle来处理么?

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧