Reputation: 13
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
Upvotes: 0
Views: 492
Reputation: 1892
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>
Upvotes: 1