2016-11-30 52 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()