2017-03-14 8 views
-3

私は簡単な電卓を作ってみたいです。顧客は、何キロかそこらを入力し、電卓は合計金額を入力します。開通量は4、kmあたりの速度は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)); 
    } 
} 
+2

エラーがありますか? –

+0

これは機能していません。アプリケーションはそれ自体を閉じています。だから私はコーディングに何か間違っていると思った。しかし、私はまだ満足のいく答えを得ることができませんでした。質問してくれてありがとう。 –

答えて

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 
+0

ありがとうございます。しかし、問題はボタンではなく、XML部分で管理できます。問題はコードが機能していないことです。アプリケーションは終了します。それはあなたのコーディングで何か問題があるかどうか尋ねました。 –

+0

はい、コードに問題があります。 edittextが空です...アプリケーションを開くとすぐにアプリケーションが終了し、** logcat **を読んでいると表示されます。** ....あなたは**ボタンが必要です。アクティビティが開くとすぐにテキストを取得しないようにします。 –