上期,我们做了个小app“eatwhat”,接下来每期都会为其添加新的功能。本期,我们为店铺增加添加店铺的功能。

  还是先设置个布局:
    <RelativeLayout android:layout_width="match_parent"android:layout_height="wrap_content"><Button android:id="@+id/add_shop_btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="@string/add_shop_btn_text"android:onClick="addShop"/><EditText android:id="@+id/addshop_et"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_toLeftOf="@id/add_shop_btn"android:textSize="18sp"/></RelativeLayout>

  得到这个界面:

  这里我们换种按钮点击事件的写法:
android:onClick="addShop"/>

  同时在java代码中定义一个方法:
    public void addShop(View view){     }

  这里注意,方法名得和之前设置add_shop_btn里面onClick的方法名一致。
  接下来定义一个shopName的集合和addshop_et的EditText(文本框)
private List<String> shopNameList;

  在init()方法里面初始化
//定义一个集合用来存放我们要的几个店名
shopNameList = new ArrayList<String>();//初始化控件addshop_EditText
addshop_et = (EditText) findViewById(R.id.addshop_et);

  在addShop()方法中写添加逻辑:
String addName = addshop_et.getText().toString();
if (addName == null||addName == ""){Toast.makeText(MainActivity.this, "添加内容为空", Toast.LENGTH_SHORT).show();
} else{//List shop添加店名shopNameList.add(addName);//清空文本框内容addshop_et.setText("");String toast_text = "添加店铺:" + addName;Toast.makeText(MainActivity.this, toast_text, Toast.LENGTH_SHORT).show();
}

  之后修改之前的RandomBtnClick内部类的点击事件
if (shopNameList.size()==0){Toast.makeText(MainActivity.this,"店家列表为空,你还未添加店家",     Toast.LENGTH_SHORT).show();
}else{//随机数Random random = new Random();//获取shopNameList长度来设置随机区间int num = random.nextInt(shopNameList.size());//textview显示以该随机数对应的商家集合的名字shop_name.setText(shopNameList.get(num));
}

  这样,我们就把添加店家这个功能添加到eatwhatApp中

转载于:https://www.cnblogs.com/superdo/p/5005314.html

eatwhatApp开发实战(二)相关推荐

  1. 小米手环iOS开发实战(二):开发Demo让你的手环振动起来

    小米手环iOS开发实战(二):开发Demo让你的手环振动起来 上一节讲了CoreBluetooth的使用,理论知识很枯燥,那么现在先利用上一节讲的内容,做一个简易手环应用,实现连接/断开手环,查看手环 ...

  2. Android开发实战二之Hello Android实例

    编写第一个Android程序 Hello Android实例 1.创建Android虚拟设备(AVD) 在开始之前先创建一个Android虚拟设备. Window->Android SDK an ...

  3. 基于Flask框架的Python web程序的开发实战 二 项目组织结构

    看到第七章-大型程序的结构,备受打击,搞不清工厂函数.蓝本.单元测试,不理解这些对象/变量怎么传递的,感觉好乱,虽然按照源码都照抄了,还是不理解.... 缓缓先.... 本来网上的Flask的教程就比 ...

  4. 微信小程序蓝牙BLE开发实战——案例(二)

    微信小程序蓝牙BLE开发实战(二) 上篇主要介绍在开发过程中应用到相关API操作.接下来介绍个人在项目开发中应用蓝牙BLE一些事情. 由于时间比较仓促, 有些注释没那么详细.请理解~写的不好欢迎各位大 ...

  5. 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth

    小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth 本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据. 本实例使用Swif ...

  6. 小程序云开发实战步骤教程

    ####前言: 在学习云开发的时候将自己的学习过程记录下来了,放在了网上,收获了一波好评,今天下午在办公室没有事情,也发现之前有人在博客里面评论,你这个教程还有一半哩,可能是csdn的自动搬运功能出来 ...

  7. 从0到1开发实战手机站(二):Git提交规范配置

    生活不能随意过,代码也不能随意写. 前一篇文章我们已经把项目搭建好了,那是不是马上就开始写页面了呀? NO! 无论在哪家公司,都会有相应的代码规范.新入职的员工往往第一步就要接受代码规范的学习. 既然 ...

  8. .NET 分布式架构开发实战之二 草稿设计

    前言: 本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下: 1) 第一个数据层草图的提出 2) 对数据访问层的思考 3) 第二个数据层草图的提出 1.数据层 ...

  9. AI应用开发实战系列之二:从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 零.前提条件 一台能联网的电脑, ...

  10. Taro多端开发实现原理与项目实战(二)

    Taro多端开发实现原理与项目实战(二) 多端电商平台项目概述及开发准备 学习了前面的基础知识和进阶后是否跃跃欲试?我们准备了一个电商平台的项目来和大家一起实践使用 Taro 开发电商平台. 项目概述 ...

最新文章

  1. 王豪:HW265到“HW266”
  2. python添加模块搜索路径
  3. [十一]基础数据类型之Character
  4. Hyper-V下虚拟机无法启动的故障排除
  5. php jira,php – 为Jira的api添加附件
  6. ASP.Net开发新手常见问题备忘录
  7. 专访 | PP云技术副总监:如何使用机器学习算法优化分发链路
  8. spring+hibernate+Struts2 整合(全注解及注意事项)
  9. 中台做不好,就会成为“钟台”!阿里高管离职创业,这次会搞砸吗
  10. 【python】rvm库安装问题解决
  11. 基于物联网的工业分析将席卷制造业
  12. Excel:数据处理
  13. linux yum换源(国内阿里源)
  14. 2019第九届蓝桥杯大赛个人赛决赛真题C语言B组——调手表
  15. YUV/YIQ色彩空间的转换
  16. mysql教学磁力链_使用MySQL存储以太坊事件
  17. 漏洞复现----11、GlassFish任意文件读取
  18. 京东数据化运营(二)- 转化率
  19. 弘辽科技:改淘宝宝贝副标题有影响吗?如何修改宝贝标题没影响?
  20. WARNING: Your password has expired.Password change required but no TTY available.

热门文章

  1. 哪种linux好,哪种LINUX好用
  2. Docker 搭建Spark 依赖singularities/spark:2.2镜像
  3. Lintcode129 Rehashing solution 题解
  4. 【互联网安全】阿里云安全专家为你详细解读内容安全及防护
  5. cocoapods应用第一部分-xcode创建.framework相关
  6. hadoop作业引用第三方jar文件原理解析
  7. 切换google的公共库缓解网站访问慢的问题
  8. 5月第3周回顾:08软考举行 中国遭大范围SQL注入***
  9. matlab 中for 的控制表达式用数组,循环指数可以为向量
  10. 2月7日 SVM线性回归逻辑回归