android利用spinner选择加减乘除进行运算!!!!
2020-07-14 05:59
741 查看
#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,可以简单实现!!!
相关文章推荐
- Android界面编程之利用单选框和复选框实现对学历和爱好进行选择
- java android 对一个集合进行连续有选择的删除
- android从摄像头或者图库选择图片,并进行裁剪,可以用来用户头像处理
- 利用WIFI(不用数据线)连接Android手机进行调试
- 13-1利用路径运算进行制作
- (贪心5.2.9)UVA 10020 Minimal coverage(利用数据有序化来进行贪心选择)
- 利用JS对两行Input radio 进行互斥选择。
- 利用python进行数据分析之数据聚合和分组运算
- Android中利用观察者模式对UrlConnection进行封装
- 使用switch语句来进行程序中的加减乘除运算
- (Relax 1.6)POJ 1323 Game Prediction(利用有序化数据进行贪心选择: 有m个人,每个人有n张牌,别人想方设法的让你输,求你能赢多少次)
- python利用装饰器进行运算的实例分析
- Android简单的利用MediaRecorder进行录音的实例代码
- 利用Android Studio、MAT对Android进行内存泄漏检测
- Android之利用EventBus进行消息传递
- Android 利用OkHttp进行文件下载操作
- [转]Android 中利用反射技术实现加减乘除
- Android中利用命令行进行截屏并导出到电脑上
- [Android Pro] 利用tcpdump和wireshark对android网络请求进行分析
- Android--从零单排系列(7)--广播的使用和利用广播进行数据的传递