android之通过Button的监听器往adapter中添加数据时出错

本来源代码如下: List model; //自定义的一个List数据,存储的是自定义的类 LunchListAdapter adapter;//自定义的一个ListView的适配器 ……//省略class onSavaLis implements OnClickListener{ //Button s

大家好,又见面了,我是全栈君。

本来源代码如下:

	List<Restaurant> model; //自定义的一个List数据,存储的是自定义的类                                    	LunchListAdapter adapter;//自定义的一个ListView的适配器
	......//省略
class onSavaLis implements OnClickListener{			//Button save的监听器,点击之后往model里面添加数据
		Restaurant r = new Restaurant();//②		
		@Override
		public void onClick(View v) {
			r.setName(name.getText().toString());
			r.setAddress(addr.getText().toString());
			switch (types.getCheckedRadioButtonId()) {
			case R.id.take_out:
				r.setType(TAKE_OUT);
				break;
			case R.id.sit_down:
				r.setType(SIT_DOWN);
				break;
			case R.id.delivery:
				r.setType(DELIVERY);
				break;
			}
			model.add(r);//①
		}
	}

问题是,点击存储之后,在如果①处采用的是adapter.add(r);

那么ListView里面展示出来的item全都是最后存进去的那个,而且在点击item之后,从model里面输出来的内容也都是一样的,

如果①处采用的是model.add(r);

那么ListView里面展示出来的item是正确的,刚好是你存储的内容的顺序,但是点击item之后,从model里面读取出来的内容跟上面一样,全都是最后存进去的数据,

 

想来想去也没怎么弄明白,最后我把②那行代码放到了onClick里面定义,这样之后不管①出用哪种方式,显示和输出的结果都是正确的.

暂时想到的就是在②处定义的r可能model里面之前加入的数据都覆盖了,但是还是有点糊涂,先记下这么个印象,望高手赐教.

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121431.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 写给零基础入坑蓝桥杯的同学

    写给零基础入坑蓝桥杯的同学以下为2020.1.9更新

    2022年7月14日
    8
  • 服务器重启项目引发的nginx 502 Bad Gateway解决

    服务器重启项目引发的nginx 502 Bad Gateway解决一、问题起因:ssh登录远程服务器重启项目(第一次),未等tomcat启动完成,直接访问项目的对应后台管理系统网站,导致网页一直加载不出来,心急又去重复启动项目(第二次),再次访问网页报错:502BadGatewaynginx。二、解决思路:…这里饶了很多弯路。前面几步是没有解决的错误思路,想要看最终解决,直接跳过,去查看最后的总结…1.首先想到去查看nginx日志,…

    2022年6月24日
    94
  • Labelimg制作数据集

    Labelimg制作数据集Labelimg制作数据集1、安装labelimg①下载源码自行安装,安装步骤参考搜索文章下载地址:https://github.com/tzutalin/labelImg②下载打包版直接运行,Windows和Linux平台可用,无需编译下载地址:http://tzutalin.github.io/labelImg/2、图片标注①仿照VOC2007在py-faster-rc…

    2022年6月24日
    55
  • 很黄色的JAVA游戏_《yellow》很黄!很暴力?居然有这么黄的游戏!

    很黄色的JAVA游戏_《yellow》很黄!很暴力?居然有这么黄的游戏!原标题:《yellow》很黄!很暴力?居然有这么黄的游戏!《yellow》是一款很“黄”但是一点也不暴力的解密益智类游戏,游戏一共有50关,每一关都非常非常的黄,不适宜长时间玩耍~游戏虽好玩但是要适度哦~游戏的特色就是黄,一打开游戏游戏的界面就和游戏的名字一样,玩家要通过自己的脑洞来进行通关,通关的方法也和游戏的名字一样,只要让游戏界面全部变黄了就能通关了,游戏的解密相对其他解密游戏简直亲切,…

    2022年10月15日
    0
  • nmap命令的详解

    nmap命令的详解使用-sP参数对对应主机段的主机发送ICMP报文,可以查询到哪些主机是存活的。[root@localhost~]#nmap-sP192.168.8.0/24StartingNmap6.40(http://nmap.org)at2018-07-1014:32CSTNmapscanreportfor192.168.8.0Hostisup(0….

    2022年5月8日
    46
  • 最新手机号段归属地数据库(2017年4月16日版)免费下载

    最新手机号段归属地数据库(2017年4月16日版)免费下载2017年4月16日版360569条记录最新手机号段数据库号码归属地数据库移动号段联通号段电信号段14号段170号段(虚拟运营商)权威全面准确规范字段包括省份城市运营商邮编区号等信息,对于数据分析、号码归属地查询等非常有帮助三种格式:MYSQL,MSSQL,accessMDB格式字段:手机号码前7位,省份,城市,区号,运营商,邮编末…

    2022年7月22日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号