Java Android Studio具有微调器选择的多个数字
因此,我尝试使用一个微调器,您可以在其中选择要从GBP转换为的货币,输入一个GBP值,然后通过按下按钮从微调器转换为所选货币。转换后的值将出现在下面的文本视图中 下面是我正在使用的Convert活动中的以下代码,在尝试从主菜单切换到此布局时,应用程序崩溃,但在我尝试添加乘法代码之前,它仍在工作。提前谢谢Java Android Studio具有微调器选择的多个数字,java,android,spinner,currency,multiplication,Java,Android,Spinner,Currency,Multiplication,因此,我尝试使用一个微调器,您可以在其中选择要从GBP转换为的货币,输入一个GBP值,然后通过按下按钮从微调器转换为所选货币。转换后的值将出现在下面的文本视图中 下面是我正在使用的Convert活动中的以下代码,在尝试从主菜单切换到此布局时,应用程序崩溃,但在我尝试添加乘法代码之前,它仍在工作。提前谢谢 public class Convert extends AppCompatActivity { final EditText currency_input = (EditText) fi
public class Convert extends AppCompatActivity {
final EditText currency_input = (EditText) findViewById(R.id.editText_currency_input);
final TextView answer = (TextView) findViewById(R.id.textView_convert_to);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.convert);
Spinner spinner_convert_from = (Spinner) findViewById(R.id.spinner_convert_from);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.currency_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_convert_from.setAdapter(adapter);
}
private void USD() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1.2798));
}
private void EUR() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1.14502));
}
private void AUD() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1.71911));
}
private void CAD() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1.7226));
}
private void JPY() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*142.482));
}
private void CHF() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))* 1.24662));
}
private void CNY() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))* 8.7714));
}
private void KRW() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1430.8));
}
private void SEK() {
answer.setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))* 11.1187));
}
public class planOnClickListener implements AdapterView.OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int pos,
long id) {
parent.getItemAtPosition(pos);
if (pos == 0) {
USD();
} else if (pos == 1) {
EUR();
} else if (pos == 2) {
AUD();
} else if (pos == 3) {
CAD();
} else if (pos == 4) {
JPY();
} else if (pos == 5) {
CHF();
} else if (pos == 6) {
CNY();
} else if (pos == 7) {
KRW();
} else if (pos == 8) {
SEK();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}
公共类转换扩展了AppCompatActivity{
最终EditText货币输入=(EditText)findViewById(R.id.EditText货币输入);
最终文本视图答案=(文本视图)findViewById(R.id.TextView\u convert\u to);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.convert);
微调器微调器微调器转换自=(微调器)findViewById(R.id.Spinner\u convert\u from);
ArrayAdapter=ArrayAdapter.createFromResource(此,
R.array.currency\u数组,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner_convert_from.setAdapter(适配器);
}
私人股本(美元){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1.2798));
}
私人无效欧元(){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*1.14502));
}
私人无效澳元(){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText()))*1.71911));
}
私人电脑辅助设计({
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*1.7226));
}
私人股本(日元){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*142.482));
}
私人无效CHF(){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*1.24662));
}
私人股本(元){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*8.7714));
}
私人无效韩元(){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*1430.8));
}
私人股本(瑞典克朗){
setText(String.valueOf(Double.valueOf(String.valueOf(currency_input.getText())*11.1187));
}
公共类planOnClickListener实现AdapterView.OnItemSelectedListener{
@凌驾
已选择公共位置(AdapterView父视图、视图v、内部位置、,
长id){
父项。getItemAtPosition(pos);
如果(位置==0){
美元();
}否则如果(位置==1){
欧元();
}否则如果(位置==2){
AUD();
}否则如果(位置==3){
CAD();
}否则如果(位置==4){
日元();
}否则,如果(位置==5){
CHF();
}否则如果(位置==6){
人民币(;
}否则如果(位置==7){
韩元();
}否则如果(位置==8){
瑞典克朗();
}
}
@凌驾
未选择公共无效(AdapterView arg0){
}
}
}您的代码中有一些常见错误。我已经更新了你的代码 以下是工作代码:
//Convert.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class Convert extends AppCompatActivity {
EditText currency_input ;
TextView answer;
String input;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.convert);
// Views
currency_input = (EditText) findViewById(R.id.editText_currency_input);
answer = (TextView) findViewById(R.id.textView_convert_to);
// Default value
currency_input.setText("0.0");
Spinner spinner_convert_from = (Spinner) findViewById(R.id.spinner_convert_from);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.currency_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_convert_from.setAdapter(adapter);
// Add item selected listener
spinner_convert_from.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int pos,
long id) {
// Get input text
input = currency_input.getText().toString();
if (pos == 0) {
USD();
} else if (pos == 1) {
EUR();
} else if (pos == 2) {
AUD();
} else if (pos == 3) {
CAD();
} else if (pos == 4) {
JPY();
} else if (pos == 5) {
CHF();
} else if (pos == 6) {
CNY();
} else if (pos == 7) {
KRW();
} else if (pos == 8) {
SEK();
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
private void USD() {
answer.setText(String.valueOf(Double.valueOf(input)*1.2798));
}
private void EUR() {
answer.setText(String.valueOf(Double.valueOf(input)*1.14502));
}
private void AUD() {
answer.setText(String.valueOf(Double.valueOf(input)*1.71911));
}
private void CAD() {
answer.setText(String.valueOf(Double.valueOf(input)*1.7226));
}
private void JPY() {
answer.setText(String.valueOf(Double.valueOf(input)*142.482));
}
private void CHF() {
answer.setText(String.valueOf(Double.valueOf(input)* 1.24662));
}
private void CNY() {
answer.setText(String.valueOf(Double.valueOf(input)* 8.7714));
}
private void KRW() {
answer.setText(String.valueOf(Double.valueOf(input)*1430.8));
}
private void SEK() {
answer.setText(String.valueOf(Double.valueOf(input)* 11.1187));
}
}
// convert.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="16dp"
tools:context="com.ferdous.stackoverflowanswer.Convert">
<TextView
android:id="@+id/textView_convert_to"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24dp"/>
<Spinner
android:id="@+id/spinner_convert_from"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
</Spinner>
<EditText
android:id="@+id/editText_currency_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"/>
</LinearLayout>
//Convert.java
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.TextView;
公共类转换扩展AppCompatActivity{
编辑文本货币输入;
文本视图答案;
字符串输入;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.convert);
//观点
货币输入=(EditText)findViewById(R.id.EditText\u货币输入);
答案=(TextView)findViewById(R.id.TextView\u convert\u to);
//默认值
货币输入.setText(“0.0”);
微调器微调器微调器转换自=(微调器)findViewById(R.id.Spinner\u convert\u from);
ArrayAdapter=ArrayAdapter.createFromResource(此,
R.array.currency\u数组,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner_convert_from.setAdapter(适配器);
//添加选定的项目侦听器
微调器\u转换\u自.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView父视图、视图v、内部位置、,
长id){
//获取输入文本
input=currency\u input.getText().toString();
如果(位置==0){
美元();
}否则如果(位置==1){
欧元();
}否则如果(位置==2){
AUD();
}否则如果(位置==3){
CAD();
}否则如果(位置==4){
日元();
}否则,如果(位置==5){
CHF();
}否则如果(位置==6){
人民币(;
}否则如果(位置==7){
韩元();
}否则如果(位置==8){
瑞典克朗();
}
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});
}
私人股本(美元){
answer.setText(String.valueOf(Double.valueOf(input)*1.2798));
}
私人无效欧元(){
answer.setText(String.valueOf(Double.valueOf(input)*1.14502));
}
私人无效澳元(){
answer.setText(String.valueOf(Double.valueOf(input)*1.71911));
}
私人电脑辅助设计({
answer.setText(String.valueOf)(Double.valueOf(input)*1。