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中
比大多数人的努力程度之低,根本轮不到拼天赋...
宝宝巴士 SD.Team