ListView点击Item其他Item响应的错误笔记
来源:互联网 发布:python json数据处理 编辑:程序博客网 时间:2024/05/02 07:33
在编写一个ListView的时候里面有一个按钮.在Adapter里设置了点击事件.
但是在点击一个Item的时候发现响应的是另一个Item, position检查之后也没有出错,困扰了很久, 以下是getView源代码
public View getView(int arg0, View arg1, ViewGroup arg2) {// TODO Auto-generated method stub// 自定义视图 ListItemView listItemView = null;if (arg1 == null) {listItemView = new ListItemView();// 获取listitem布局文件arg1 = listContainer.inflate(R.layout.list_item_warn, null);// 获取控件对象listItemView.tv1 = (TextView) (arg1.findViewById(R.id.tv11));listItemView.tv2 = (TextView) (arg1.findViewById(R.id.tv22));listItemView.tv3 = (TextView) (arg1.findViewById(R.id.tv33));listItemView.tv4 = (TextView) (arg1.findViewById(R.id.tv44));listItemView.tv5 = (TextView) (arg1.findViewById(R.id.tv55));listItemView.tv6 = (TextView) (arg1.findViewById(R.id.tv66));// 设置空间集到arg1arg1.setTag(listItemView);} else {listItemView = (ListItemView) arg1.getTag();}// 设置空间内容listItemView.tv1.setText((String) listItems.get(arg0).get("title"));listItemView.tv2.setText((String) listItems.get(arg0).get("text"));listItemView.tv3.setText((String) listItems.get(arg0).get("date"));listItemView.tv5.setText((String) listItems.get(arg0).get("reason"));listItemView.tv6.setText((String) listItems.get(arg0).get("id"));try {Date date = new SimpleDateFormat("yyyy-MM-dd").parse((String) listItems.get(arg0).get("date"));Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH));date = calendar.getTime();Date current = new Date();final int position = arg0;if (date.before(current)) {listItemView.tv4.setVisibility(0);listItemView.tv5.setVisibility(0);if(listItemView.tv5.getText().toString().equals("回访未完成原因:(点击此行添加)")){listItemView.tv5.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubreasonLayout.setVisibility(View.VISIBLE);addreasonbtn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubThread thread = new Thread(){@Overridepublic void run() {// TODO Auto-generated method stubtry {if (new VisitUtils().insertReason(reasonEditText.getText().toString(),listItems.get(position).get("id").toString(), WarnActivity.this)) {Message msg = handler.obtainMessage();msg.what = INSERT_REASON_SUCCESS;handler.sendMessage(msg);} else {System.out.println("插入失败");}} catch (HttpResponseException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blockMessage msg2 = handler.obtainMessage();msg2.what = INSERT_FAIL;handler.sendMessage(msg2);e.printStackTrace();} catch (XmlPullParserException e) {// TODO Auto-generated catch blocke.printStackTrace();}}};thread.start();}});}});}else{listItemView.tv5.setClickable(false);}} <span style="color:#ff0000;">else {listItemView.tv4.setVisibility(8);listItemView.tv5.setVisibility(View.GONE);}</span>} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println(e + "!!!warn activyty 313");}return arg1;}后来加上else问题解决了, 代码中红色标注部分
0 0
- ListView点击Item其他Item响应的错误笔记
- ListView的item点击事件不响应
- ListView的Item点击事件无响应
- listView点击一个Item,改变的是其他Item
- listview adapter 控件注册点击事件,点击一个item后有其他item的这个控件响应了事件
- ListView的item中嵌套其他可点击组件,屏蔽item点击
- Android ListView的item点击无响应的解决方法
- ListView的item点击事件无响应的解决方法
- Android ListView的item点击无响应的解决方法
- [Android] 点击listView的item无响应【解决办法】
- ListView的item点击事件失效,没有响应。
- 【完美解决】Android ListView item 点击没有响应的问题
- ListView的item点击无响应,onItemClick()没被调用
- Android之listview点击item当前item变色其他不变
- listview 点击item无响应处理
- ListView Item点击事件无效,不响应
- GridView, ListView的item中嵌入button或其他view导致item点击失效的研究
- Android ListView的item背景色设置和item点击无响应的解决方法
- Android UI模板设计 TopBar 标题栏的设计
- Redis --- Sentinel
- Linux 的 find 命令简单使用
- iOS9适配教程
- 在Windows上部署使用Redis
- ListView点击Item其他Item响应的错误笔记
- 自定义 from 表单验证
- github使用入门
- 你最大的敌人是自己:一个独立游戏人的创业自白
- html的表单简介
- C++容器
- C# 用匿名委托的方式简化Thread 和 Controle.Invoke的写法
- JAVA项目性能测试项目实战视频教程
- extjs动态添加或删除控件