【问题标题】:Simple TaxiMeter简单的计程器
【发布时间】:2017-03-14 17:48:59
【问题描述】:

我想做一个简单的计算器。客户将输入他/她走了多少公里,计算器将给出总金额。开通量为4,每公里费率为1.4。

我做错了什么?

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        double km;
        int y;
        double x;
        x = 1.4;
        y = 4;

        TextView tabela = (TextView) findViewById(R.id.tabela);
        EditText number = (EditText) findViewById(R.id.number);
        String written = number.getText().toString();
        km = Double.parseDouble(written);
        tabela.setText("Total Amount" + ((km*x)+y));
    }
}

【问题讨论】:

  • 错误是什么?
  • 它不工作。应用程序不断自行关闭。所以我认为编码有问题。但是我还没有得到满意的答复。感谢您的提问。

标签: java android calculator


【解决方案1】:

number.getText().toString() 立即返回一个空字符串。

您需要一个Button 和一个点击监听器。

public class MainActivity extends AppCompatActivity 
    implements View.OnClickListener {

    TextView tabela;
    EditText number;
    Button b;

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.button) {
            String written = number.getText().toString();
            km = Double.parseDouble(written);
            tabela.setText("Total Amount" + ((km*x)+y));
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tabela = (TextView) findViewById(R.id.tabela);
        number = (EditText) findViewById(R.id.number);

        b = ... // find button here
        b.setOnClickListener(this); // to the activity

【讨论】:

  • 非常感谢。但问题不在于按钮,我可以通过 XML 部分进行管理。问题是代码不起作用。应用程序不断关闭。那就是我问的编码是否有问题。
  • 是的,您的代码有问题。 edittext 是空的...导致您的应用在打开后立即关闭,如果您阅读 logcat...您会看到这一点。您 需要 a按钮或其他一些输入,以便在 Activity 打开后不会立即获取文本。
猜你喜欢
  • 2013-11-29
  • 1970-01-01
  • 2016-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 2015-04-04
相关资源
最近更新 更多