I appreciate any help and guidance. I am learning Java and creating my first Android app.
Layout: (1) Textview for numerical input (ID: inputValue) (2) spinners (ID: firstCity, secondCity) - both spinners have the same 5 cities (1) Button (ID: clickButton) (1) Textview for numerical output (ID: outputValue)
Functionality: 1. User types in numerical value into TextView widget1. Error message for no entry
2. User selects any of the 5 cities from spinner 1
3. User selects any of the 5 cities from spinner 2
4. User clicks button
5. Numerical output pops up in a TextView widget2.
I'm stuck on getting the numerical output (5). Each city has a numerical value assigned to it but I am having hard time trying to figure out the best way to represent this. Hashmap? String array? Switch? The cities are in the strings.xml below. Their respective values are 2,4,6,8,10.
The goal is to use this equation for output: widget1 inputValue x(spinner1/spinner2) = widget2 outputValue
strings.xml
<resources>
<string name="app_name">Cities</string>
<string-array name="cities_array">
<item>Buffalo, NY</item>
<item>Portland, OR</item>
<item>Sacramento, CA</item>
<item>Jackson, Wyoming</item>
<item>Santa Fe, NM</item>
</string-array>
package;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.ArrayAdapter;
public class calculate extends AppCompatActivity {
Spinner spinnerA,spinnerB;
Button clickButton;
TextView outputValue;
TextView inputValue;
ArrayAdapter<CharSequence> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calc);
final TextView inputValue = (TextView) findViewById(R.id.inputValue);
outputValue = (TextView) findViewById(R.id.outputValue);
Button ClickButton = (Button) findViewById(R.id.ClickButton);
spinnerA = (Spinner)findViewById(R.id.firstCity);
spinnerB = (Spinner)findViewById(R.id.secondCity);
adapter = ArrayAdapter.createFromResource(this,R.array.cities,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerA.setAdapter(adapter);
spinnerB.setAdapter(adapter);
spinnerA.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+ "selected",
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinnerB.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+ "selected",
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
clickButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(inputValue.getText().length()<=0) {
inputValue.setError("Must input value");
}
}
});
}
Any direction would be greatly appreciated.Thank you.