在运行这些代码时获得异常如何解决

时间:2017-09-12 05:24:15

标签: android

这里我通过从edittext中读取值来添加两个数字,但是它会抛出exeted如何解决它。一切似乎都正确。请帮我     包com.example.centum.addition1;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import static android.app.PendingIntent.getActivity;
import static android.widget.Toast.LENGTH_LONG;
import static com.example.centum.addition1.R.id.et1;
import static com.example.centum.addition1.R.id.et2;

public class MainActivity extends AppCompatActivity {
    public EditText etext1,etext2;
    public TextView tview1;
    public Button button1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etext1=(EditText)findViewById(R.id.et1);
        etext2=(EditText)findViewById(R.id.et2);
        button1=(Button)findViewById(R.id.b1);
        tview1=(TextView)findViewById(R.id.tv1);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try{
                    String num1,num2;
                    num1=etext1.getText().toString();
                    num2=etext2.getText().toString();
                    int i = Integer.parseInt(num1);
                    int j = Integer.parseInt(num2);
                    int k=i+j;
                    Toast.makeText(MainActivity.this, k, LENGTH_LONG).show();

                }catch(Exception e)
                {
                    Toast.makeText(MainActivity.this, "error", LENGTH_LONG).show();
                }
            }
        });
    }
}

2 个答案:

答案 0 :(得分:0)

Toast中的消息必须是String,而不是整数。因此,正如Android Player_Shree所说,将您的消息更改为k +" "

答案 1 :(得分:0)

我找到了Exception,它是在Toast中你试图打印两个数之和的值。 Toast总是显示String值,但在代码中提供int值。这是例外的原因。

  Toast.makeText(MainActivity.this, k, LENGTH_LONG).show();

你必须用这个替换上面提到的行:

 Toast.makeText(MainActivity.this, String.valueOf(k),LENGTH_LONG).show();