2017-05-26 36 views
0

所以我試圖有一個微調,你選擇一種貨幣轉換爲英鎊,輸入英鎊的價值,並通過按鈕轉換爲選定的貨幣從微調。轉換後的值將出現在TextView的下方安卓工作室多個數字與微調選擇

enter image description here

這裏是下面的代碼我在我使用的轉換活動,該應用程序是在試圖從主菜單切換到該佈局崩潰,但是在我嘗試添加乘法代碼之前它正在工作。提前致謝。

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) { 

    } 
} 

}

+0

如果它崩潰了Logcat(Android監視器)中有相應的條目請分享 – 0X0nosugar

+0

對不起,我是Android Studio的新手,我不太確定我在Logcat中尋找什麼,因爲有1000 +消息,當我在模擬器中運行應用程序。 –

+0

是的,它甚至在模擬器中也有很多:)有一個搜索欄,你可以輸入例如您的軟件包名稱縮小搜索範圍。或者,當您正在查找崩潰報告時,您可以切換日誌消息的級別(幾個級別從詳細到錯誤) – 0X0nosugar

回答

1

有你的代碼的一些常見錯誤。我已更新您的代碼。

這裏是工作代碼:

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

這裏是你的佈局XML:

// 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> 

OUTPUT:

enter image description here

+0

非常感謝你,真的很感謝你的幫助。 –

+0

最受歡迎...如果我的回答看起來有用,那麼將其標記爲正確回答:) – FAT