java - Spinner 的条件语句

标签 java android conditional-statements android-spinner

我在理解 Android 中的微调器时遇到一些问题

字符串.xml

<string-array name="pickformula">
    <item>add</item>
    <item>multiply</item>
</string-array>

xml文件

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spinner1"
    android:entries="@array/pickformula"
    android:layout_marginLeft="10dp"/>
<Spinner

 <Button
     android:id="@+id/button1"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="calc" />
 <EditText
     android:id="@+id/input1"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:inputType="number"/>
<EditText
     android:id="@+id/input2"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:inputType="number"/>

Java

package com.aururatech.dropvoltage3;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );
  }
}

这就像简单的计算器。 如果我选择在微调器中添加,按下按钮时的公式为 = input1+input2

如果我在微调器中选择乘法,则按下按钮时的公式为 = input1*input2

我需要该示例的 java 代码.. 谢谢

最佳答案

请按照这些代码来解决您的问题。在此我根据您创建了一个计算器。所有操作均通过微调器更改来执行。

MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
  Spinner operation;
  Button calculate;
  EditText input1;
  EditText input2;
  TextView result;
  String val;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    operation = findViewById(R.id.spinner1);
    calculate = findViewById(R.id.button1);
    input1 = findViewById(R.id.input1);
    input2 = findViewById(R.id.input2);
    result = findViewById(R.id.textView);

    calculate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String val1 = input1.getText().toString();
            String val2 = input2.getText().toString();
            if (val.equals("add")) {
                result.setText(String.valueOf(Integer.parseInt(val1) + Integer.parseInt(val2)));
            }
            if (val.equals("sub")) {
                result.setText(String.valueOf(Integer.parseInt(val1) - Integer.parseInt(val2)));
            }
            if (val.equals("multiply")) {
                result.setText(String.valueOf(Integer.parseInt(val1) * Integer.parseInt(val2)));
            }
            if (val.equals("divide")) {
                result.setText(String.valueOf(Integer.parseInt(val1) / Integer.parseInt(val2)));
            }
        }
    });

    operation.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            val = operation.getSelectedItem().toString();
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });
  }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner1"
        android:entries="@array/pickformula" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="calc" />

    <EditText
        android:id="@+id/input1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/spinner1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="33dp"
        android:inputType="number" />

    <EditText
        android:id="@+id/input2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/input1"
        android:layout_marginTop="28dp"
        android:inputType="number" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="35dp" />

</RelativeLayout>

字符串.xml

<resources>
  <string-array name="pickformula">
    <item>add</item>
    <item>sub</item>
    <item>multiply</item>
    <item>divide</item>
  </string-array>

</resources>

关于java - Spinner 的条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50442309/

相关文章:

android - 在android应用程序中的两个类之间传递字符串数组

java - API 声明必须是接口(interface) - Retrofit

python - while 语句之后的 else 语句,以及字符串与字符串列表的比较?

java - 在 Spring 中使用 AspectJ 捕获映射器方法内的 setter

java - 从单元测试中设置依赖关系的最佳策略?

java - Android studio 中的入职屏幕

conditional-statements - 如何在LOGO中使用条件语句

具有条件值的 MySQL 列

java - Java 中具有多个程序的单个应用程序

java - Java ee Web 应用程序中的 Xform 与 Jsf