一个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方法都没有进入,直接就退出,也找不到错误点,请问各位碰到过吗?如何解决呢?先谢谢了
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方法都没有进入,直接就退出,也找不到错误点,请问各位碰到过吗?如何解决呢?先谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货