#android利用spinner选择加减乘除进行运算!!!!
##效果图

##代码部分
.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent" >    <EditText            android:id="@+id/edt_test1"            android:layout_width="60dip"            android:layout_height="40dip"            android:ems="10"            android:inputType="number"            android:textColor="#88e355"            android:textSize="20sp" />    <Spinner        android:id="@+id/spinner"        android:layout_width="60dip"        android:layout_height="40dip"/>    <EditText            android:id="@+id/edt_test2"            android:layout_width="60dip"            android:layout_height="40dip"            android:ems="10"            android:inputType="number"            android:textColor="#88e355"            android:textSize="20sp" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="=" />    <TextView        android:id="@+id/tv"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="" /></LinearLayout>

.java

package com.example.test1_2;import android.app.Activity;import android.app.AlertDialog;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;import android.widget.TextView;public class MainActivity extends Activity {    private Spinner spinner;    private EditText editNum1;    private EditText editNum2;    private TextView result;    private Button button;    private String[] huansaun = {"+","-","×","÷"};    String flag;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        spinner = (Spinner) findViewById(R.id.spinner);        editNum1 = (EditText) findViewById(R.id.edt_test1);        editNum2 = (EditText) findViewById(R.id.edt_test2);        button = (Button) findViewById(R.id.button1);        result = (TextView) findViewById(R.id.tv);        ArrayAdapter<String> huansuan_adapter = new ArrayAdapter<String>(                this,android.R.layout.simple_spinner_dropdown_item,huansaun        );        spinner.setAdapter(huansuan_adapter);        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {                flag = spinner.getSelectedItem().toString();                Log.e("Dawangba", String.valueOf(position));            }            @Override            public void onNothingSelected(AdapterView<?> parent) {            }        });        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (flag.equals("+")){                    AddListener addListener = new AddListener();                    addListener.onClick(v);                }                if (flag.equals("-")){                    SubListener subListener = new SubListener();                    subListener.onClick(v);                }                if (flag.equals("×")){                    MulListener mulListener = new MulListener();                    mulListener.onClick(v);                }                if (flag.equals("÷")){                    DivListener divListener = new DivListener();                    divListener.onClick(v);                }            }        });    }    private void showDialog(){        AlertDialog.Builder dialog = new AlertDialog.Builder(this);        dialog.setTitle("错误");        dialog.setMessage("输入数字无效!");        dialog.setPositiveButton("确定",null);        dialog.show();    }    //加法操作    private class AddListener implements View.OnClickListener {        public void onClick(View v) {            if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){                showDialog();            } else {                float number1 = Float.parseFloat((editNum1.getText().toString()));                float number2 = Float.parseFloat((editNum2.getText().toString()));                result.setText(number1 + number2 + "");            }        }    }    //减法操作    private class SubListener implements View.OnClickListener {        public void onClick(View v) {            if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){                showDialog();            } else {                float number1 = Float.parseFloat((editNum1.getText().toString()));                float number2 = Float.parseFloat((editNum2.getText().toString()));                result.setText(number1 - number2 + "");            }        }    }    //乘法操作    private class MulListener implements View.OnClickListener {        public void onClick(View v) {            if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){                showDialog();            } else {                float number1 = Float.parseFloat((editNum1.getText().toString()));                float number2 = Float.parseFloat((editNum2.getText().toString()));                result.setText(number1 * number2 + "");            }        }    }    //除法操作    private class DivListener implements View.OnClickListener {        public void onClick(View v) {            if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){                showDialog();            } else {                float number1 = Float.parseFloat((editNum1.getText().toString()));                float number2 = Float.parseFloat((editNum2.getText().toString()));                if (number2 == 0){                    showDialog();                } else {                    result.setText(number1 / number2 + "");                }            }        }    }}

部分参照网络,些许bug,可以简单实现!!!

更多相关文章

  1. Android(安卓)Bitmap最全基本操作:与Drawable 、File、btye[]互转
  2. Android第七期 - 二维码扫描与生成图
  3. android 中Drawable跟Bitmap转换及常用于图片相关操作方法 - And
  4. android的文件操作
  5. Android官方入门文档[5]建立操作栏
  6. android操作系统默认的图片
  7. Android(安卓)-很全的android操作内容丰富
  8. android Sqlite多线程访问异常解决方案
  9. android操作系统默认的图片

随机推荐

  1. Android NDK学习(8)Android Makefile探索2
  2. Android 使用webview 打开浏览ppt文件
  3. 搭建环境变量时遇到的三个错误
  4. 如何在eclipse中创建android的测试用例
  5. Android Service入门
  6. android studio apk打包命名规范
  7. android客户端百度云推送的使用总结
  8. android好文章或博客地址收藏
  9. Android Studio 解决aapt "finished with
  10. Android关于全屏设置和隐藏状态栏、沉浸