Android下拉框实现多种计算「简易版」

示例


代码

day1「layout部分」

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <EditText
        android:id="@+id/et1"
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:hint="请输入数字"
        android:textSize="20sp"/>
    <Spinner
        android:id="@+id/spinnner"
        android:entries="@array/lxy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    <EditText
        android:id="@+id/et2"
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:hint="请输入数字"
        android:textSize="20sp"/>
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="计算"
        android:textSize="20sp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="计算结果如下👇"
        android:textSize="30dp"/>
    <TextView
        android:id="@+id/txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:textSize="25sp"/>

</LinearLayout>

array「values部分」

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="lxy">
        <item>+</item>
        <item>-</item>
        <item>*</item>
        <item>/</item>
        <item>%</item>
    </string-array>
</resources>

MainActivity

变量

private EditText et1,et2;
    private TextView txt;

主代码

Spinner spinner = (Spinner) findViewById(R.id.spinnner);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String result = parent.getItemAtPosition(position).toString();
                Toast.makeText(MainActivity.this,result,Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
        Spinner operatorSpinner = findViewById(R.id.spinnner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.lxy, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        operatorSpinner.setAdapter(adapter);
        Button calculateButton = findViewById(R.id.btn);
        calculateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                et1 = findViewById(R.id.et1);
                et2 = findViewById(R.id.et2);
                txt = findViewById(R.id.txt);

                double num1 = Double.parseDouble(et1.getText().toString());
                double num2 = Double.parseDouble(et2.getText().toString());

                Spinner operatorSpinner = findViewById(R.id.spinnner);
                String operator = operatorSpinner.getSelectedItem().toString();

                double result = 0;
                switch (operator) {
                    case "+":
                        result = num1 + num2;
                        break;
                    case "-":
                        result = num1 - num2;
                        break;
                    case "*":
                        result = num1 * num2;
                        break;
                    case "/":
                        result = num1 / num2;
                        break;
                    case "%":
                        result = num1 % num2;
                        break;

                }
                txt.setText(String.valueOf(result));
            }
        });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值