0

EditText1箱だけの簡単な電卓を開発したい。エラーはありませんが、実行されません。いずれかのボタンを押すたびに、アプリが予期せず停止します。私はすべてを試しました。EditText同じコードを使用して、3 つのボックスを使用して電卓を作成しましたが、正常に動作します。何がエラーなのか理解できません。

    package com.example.cal;

    import android.os.Bundle;
    import android.app.Activity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.EditText;
    import android.widget.Button;
    import android.widget.Toast;



    public class MainActivity extends Activity implements OnClickListener {
    EditText text1 ;
    Button add,subtract,mul,div,result;


    @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     text1 = (EditText) findViewById(R.id.editText1);

    add=  (Button)findViewById(R.id.button1);
    add.setOnClickListener(this);
    subtract=  (Button)findViewById(R.id.button2);
    subtract.setOnClickListener(this);
    mul=  (Button)findViewById(R.id.button3);
    mul.setOnClickListener(this);
    div=  (Button)findViewById(R.id.button4);
    div.setOnClickListener(this);
    result=  (Button)findViewById(R.id.button5);
    result.setOnClickListener(this);
    }
    float c=0;

    public void onClick(View view) {


      float inputValue1 = Float.parseFloat(text1.getText().toString());
      float inputValue2;
        switch(view.getId())
        {

        case R.id.button1:

             Toast.makeText(view.getContext(), "activated", Toast.LENGTH_LONG).show();
             inputValue1 =inputValue1+ Float.parseFloat(text1.getText().toString());


        case R.id.button2:
            Toast.makeText(view.getContext(), "activated", Toast.LENGTH_LONG).show();
            text1.setText("");
            inputValue2 = Float.parseFloat(text1.getText().toString());
            c=inputValue1-inputValue2;
            break;

        case R.id.button3:
             Toast.makeText(view.getContext(), "activated", Toast.LENGTH_LONG).show();
             text1.setText("");
             inputValue2 = Float.parseFloat(text1.getText().toString());
             c=inputValue1*inputValue2;
             break;

        case R.id.button4:
             Toast.makeText(view.getContext(), "activated", Toast.LENGTH_LONG).show();
             text1.setText("");
             inputValue2 = Float.parseFloat(text1.getText().toString());
             c=inputValue1/inputValue2;
             break;
          }

        if(view.getId()==R.id.button5)
        {Toast.makeText(view.getContext(), "activated", Toast.LENGTH_LONG).show();
           text1.setText("result is: "+inputValue1);}
        }
}

そしてここに私のxmlファイル

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="34dp"
    android:layout_marginTop="18dp"
    android:ems="10"
    android:inputType="numberSigned|numberDecimal"  >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText1"
    android:layout_marginLeft="35dp"
    android:layout_marginTop="27dp"
    android:onClick="onClick"
    android:text="@string/add" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_alignRight="@+id/editText1"
    android:onClick="onClick"
    android:text="@string/subtract" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText1"
    android:layout_below="@+id/button1"
    android:layout_marginTop="34dp"
    android:onClick="onClick"
    android:text="@string/mul" />

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button3"
    android:layout_alignBottom="@+id/button3"
    android:layout_alignLeft="@+id/button2"
    android:onClick="onClick"
    android:text="@string/div" />

<Button
    android:id="@+id/button5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button3"
    android:layout_marginTop="24dp"
    android:layout_toRightOf="@+id/button3"
    android:onClick="onClick"
    android:text="@string/result" /> 

4

2 に答える 2