Android Studio onClick设置文字问题

时间:2016-11-30 16:00:58

标签: java android android-studio

我正在尝试创建一个MPG转换,用户输入他们的里程数作为一个整数,他们的升数量是他们的汽车加倍。单击submit按钮将按升计算英里数,并为我提供MPG数字。

我的代码:

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。

我的AC:

  • 能够将里程和升数转换为MPG数字。

提前谢谢!

3 个答案:

答案 0 :(得分: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 :(得分: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());

答案 2 :(得分:0)

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

即可