2016-11-30 79 views
2

我正在嘗試創建一個MPG轉換,其中用戶輸入他們的英里數作爲整數,並且他們已將其汽車的加入量增加了兩倍。點擊按鈕將按升數劃分英里數併爲我提供MPG數字。Android Studio onClick設置文本問題

我的代碼:

final EditText mileage = (EditText) findViewById(R.id.Mileage); 
final EditText litres = (EditText) findViewById(R.id.litres); 
final Button mpg = (Button) findViewById(R.id.submit_MPG); 
final TextView result = (TextView) findViewById(R.id.mpg_result); 

mpg.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Integer miles = Integer.parseInt(mileage.toString()); 
     Double litre = Double.parseDouble(litres.toString()); 
     Double answer = Double.parseDouble(result.getText().toString()); 

     answer = miles/litre; 

     result.setText(answer); 
    } 
}); 

我的問題是,我掙扎到用戶輸入雙打和整數轉換,然後設置結果一個TextView。

我交流:

  • 爲了能夠英里,升轉換成MPG的身影。

預先感謝您!

回答

2

的問題是,你實際上並沒有轉換:

public void onClick(View v) { 
    int miles = Integer.parseInt(mileage.getText().toString()); 
    double litre = Double.parseDouble(litres.getText().toString()); 
    double answer = (double)miles/litre; 

    result.setText((""+answer)); 
    ... 

在這裏,我用(double)miles/litre轉換,然後設置TextView文本爲答案。

+1

這是夢幻般的,謝謝你的反饋,我比較了代碼,並明白我錯過了和錯誤的爲好。 – hybrid94

+0

'(雙)英里'不是必需的 –

+0

@PavneetSingh我強調轉換... – ItamarG3

1

你是不是從edittext檢索值,檢索值,使用getText()

Integer miles = Integer.parseInt(mileage.getText().toString()); 
Double litre = Double.parseDouble(litres.getText().toString()); 

,而不是

Integer miles = Integer.parseInt(mileage.toString()); 
Double litre = Double.parseDouble(litres.toString()); 

不需要的

Double answer = Double.parseDouble(result.getText().toString()); 
0

只需使用mileage.getText().toString()