Android EditText小实验
2014-04-01 00:30
260 查看
第一次在CSDN上面写博客,不知道写些什么东西,就将最近两天做的一个小实验记录下来。
这个小实验源自最近做的一个购物APP的一部分,当我们输入或者点击“+”或“-”选择好购买商品的数量,系统会自动计算出所需的费用,如图所示:
![](http://img.blog.csdn.net/20140401002826765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzaGFuZ2ppZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下面是demo的代码:
布局文件的代码:
源码:
android edittext小实验
这个小实验源自最近做的一个购物APP的一部分,当我们输入或者点击“+”或“-”选择好购买商品的数量,系统会自动计算出所需的费用,如图所示:
下面是demo的代码:
package com.lishangjie.edittexttet; import java.text.DecimalFormat; import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private EditText input; private TextView result, price; private ImageView add, delete; private double pri; private DecimalFormat df; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); input = (EditText) findViewById(R.id.input); result = (TextView) findViewById(R.id.result); add = (ImageView) findViewById(R.id.add); delete = (ImageView) findViewById(R.id.delete); price = (TextView) findViewById(R.id.price); pri = Double.valueOf(price.getText().toString()); df = new DecimalFormat("#.00"); add.setOnClickListener(this); delete.setOnClickListener(this); input.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub if (s.toString() == null || s.toString().equals("")) { s = "0"; } int a = Integer.parseInt(s.toString()); double c = a * pri; result.setText(String.valueOf(df.format(c))); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }); } @Override public void onClick(View view) { // TODO Auto-generated method stub switch (view.getId()) { case R.id.add: String addnumString = input.getText().toString(); System.out.println("addnumString===" + addnumString); if (addnumString == null || addnumString.equals("")) { addnumString = "0"; } int addnumInt = Integer.parseInt(addnumString) + 1; input.setText(String.valueOf(addnumInt)); result.setText(String.valueOf(df.format(addnumInt * pri))); break; case R.id.delete: String delnumString = input.getText().toString(); System.out.println("delnumString==" + delnumString); if (delnumString == null || delnumString.equals("")) { delnumString = "0"; } int delnumInt = Integer.parseInt(delnumString) - 1; if (delnumInt >= 0) { input.setText(String.valueOf(delnumInt)); result.setText(String.valueOf(df.format(delnumInt * pri))); } break; default: break; } } }
布局文件的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:layout_width="50dp" android:layout_height="30dp" android:layout_gravity="center" android:text="单价" /> <TextView android:layout_width="200dp" android:layout_height="30dp" android:layout_gravity="center" android:text="数量" /> <TextView android:layout_width="50dp" android:layout_height="30dp" android:layout_gravity="center" android:text="结果" /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="40dp" > <TextView android:id="@+id/price" android:layout_width="50dp" android:layout_height="30dp" android:layout_gravity="center" android:text="9.28" android:textSize="19sp" /> <LinearLayout android:layout_width="200dp" android:layout_height="30dp" android:layout_gravity="center" > <ImageView android:id="@+id/add" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/add" /> <EditText android:id="@+id/input" android:layout_width="60dp" android:layout_height="30dp" android:hint="0" android:maxLength="5" android:padding="4dp" android:gravity="center_horizontal|center_vertical" android:numeric="integer" /> <ImageView android:id="@+id/delete" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/minus" /> </LinearLayout> <TextView android:id="@+id/result" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_gravity="center" android:text="0.00" android:textSize="19sp"/> </TableRow> </TableLayout> </LinearLayout>
源码:
android edittext小实验
相关文章推荐
- Android.mk的用法和基础
- Android 解决ListView 和 ScrollView 共存冲突的问题
- Android游戏开发教程汇总
- 如何使Android应用程序获取系统权限
- Android 说说钟表控件
- android的多媒体数据库
- android开机图像的修改
- 【Android】学习笔记(10)——adb使用方法
- Android配置 常规单元测试
- 【转】Android HttpClient && HttpPost简单使用
- Android在一个应用中启动另一个应用的Activity时失败的解决办法
- android关于消防栓的正确使用
- android inputType 介绍
- Android 内存管理
- Android camera preview and take picture with V4l2
- 让Android adb运行在ARM平台上
- android仿新浪引导界面
- Android应用程序的生命周期
- android控件之 DatePicker、TimePicker
- 基于线程池和NIO技术构建高效的多协议Android通讯框架