Search code examples
javaandroidconditional-statementsandroid-spinner

Conditional statement for spinner


I have some problem for understanding spinner in android

strings.xml

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

xml file

<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 );
  }
}

This is like simple calculator. If I pick add in spinner, the formula when I press the button is = input1+input2

If I pick multiply in spinner, the formula when I press the button is = input1*input2

I need the java code for that example.. Thanks


Solution

  • Please follow these code to solve your problem. In this i create a calculator according to you. All operations perform by spinner change.

    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>
    

    string.xml

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