eatwhatApp开发实战(二)
上期,我们做了个小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开发实战(二)相关推荐
- 小米手环iOS开发实战(二):开发Demo让你的手环振动起来
小米手环iOS开发实战(二):开发Demo让你的手环振动起来 上一节讲了CoreBluetooth的使用,理论知识很枯燥,那么现在先利用上一节讲的内容,做一个简易手环应用,实现连接/断开手环,查看手环 ...
- Android开发实战二之Hello Android实例
编写第一个Android程序 Hello Android实例 1.创建Android虚拟设备(AVD) 在开始之前先创建一个Android虚拟设备. Window->Android SDK an ...
- 基于Flask框架的Python web程序的开发实战 二 项目组织结构
看到第七章-大型程序的结构,备受打击,搞不清工厂函数.蓝本.单元测试,不理解这些对象/变量怎么传递的,感觉好乱,虽然按照源码都照抄了,还是不理解.... 缓缓先.... 本来网上的Flask的教程就比 ...
- 微信小程序蓝牙BLE开发实战——案例(二)
微信小程序蓝牙BLE开发实战(二) 上篇主要介绍在开发过程中应用到相关API操作.接下来介绍个人在项目开发中应用蓝牙BLE一些事情. 由于时间比较仓促, 有些注释没那么详细.请理解~写的不好欢迎各位大 ...
- 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth
小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth 本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据. 本实例使用Swif ...
- 小程序云开发实战步骤教程
####前言: 在学习云开发的时候将自己的学习过程记录下来了,放在了网上,收获了一波好评,今天下午在办公室没有事情,也发现之前有人在博客里面评论,你这个教程还有一半哩,可能是csdn的自动搬运功能出来 ...
- 从0到1开发实战手机站(二):Git提交规范配置
生活不能随意过,代码也不能随意写. 前一篇文章我们已经把项目搭建好了,那是不是马上就开始写页面了呀? NO! 无论在哪家公司,都会有相应的代码规范.新入职的员工往往第一步就要接受代码规范的学习. 既然 ...
- .NET 分布式架构开发实战之二 草稿设计
前言: 本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下: 1) 第一个数据层草图的提出 2) 对数据访问层的思考 3) 第二个数据层草图的提出 1.数据层 ...
- AI应用开发实战系列之二:从零开始搭建macOS开发环境
AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 零.前提条件 一台能联网的电脑, ...
- Taro多端开发实现原理与项目实战(二)
Taro多端开发实现原理与项目实战(二) 多端电商平台项目概述及开发准备 学习了前面的基础知识和进阶后是否跃跃欲试?我们准备了一个电商平台的项目来和大家一起实践使用 Taro 开发电商平台. 项目概述 ...
最新文章
- 王豪:HW265到“HW266”
- python添加模块搜索路径
- [十一]基础数据类型之Character
- Hyper-V下虚拟机无法启动的故障排除
- php jira,php – 为Jira的api添加附件
- ASP.Net开发新手常见问题备忘录
- 专访 | PP云技术副总监:如何使用机器学习算法优化分发链路
- spring+hibernate+Struts2 整合(全注解及注意事项)
- 中台做不好,就会成为“钟台”!阿里高管离职创业,这次会搞砸吗
- 【python】rvm库安装问题解决
- 基于物联网的工业分析将席卷制造业
- Excel:数据处理
- linux yum换源(国内阿里源)
- 2019第九届蓝桥杯大赛个人赛决赛真题C语言B组——调手表
- YUV/YIQ色彩空间的转换
- mysql教学磁力链_使用MySQL存储以太坊事件
- 漏洞复现----11、GlassFish任意文件读取
- 京东数据化运营(二)- 转化率
- 弘辽科技:改淘宝宝贝副标题有影响吗?如何修改宝贝标题没影响?
- WARNING: Your password has expired.Password change required but no TTY available.
热门文章
- 哪种linux好,哪种LINUX好用
- Docker 搭建Spark 依赖singularities/spark:2.2镜像
- Lintcode129 Rehashing solution 题解
- 【互联网安全】阿里云安全专家为你详细解读内容安全及防护
- cocoapods应用第一部分-xcode创建.framework相关
- hadoop作业引用第三方jar文件原理解析
- 切换google的公共库缓解网站访问慢的问题
- 5月第3周回顾:08软考举行 中国遭大范围SQL注入***
- matlab 中for 的控制表达式用数组,循环指数可以为向量
- 2月7日 SVM线性回归逻辑回归