Java 当我点击";“完成”;数字键盘上的按钮

Java 当我点击";“完成”;数字键盘上的按钮,java,android,Java,Android,我有以下代码: final EditText edC = (EditText) findViewById(R.id.etC); final String creditsS = edC.getText().toString().trim(); final TextView tvD = (TextView) findViewById(R.id.tvDisplay); tvD.setText("Enter amount of credits"); edC.

我有以下代码:

    final EditText edC = (EditText) findViewById(R.id.etC);
    final String creditsS = edC.getText().toString().trim();
    final TextView tvD = (TextView) findViewById(R.id.tvDisplay); 

    tvD.setText("Enter amount of credits");

    edC.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            int credits = Integer.parseInt(creditsS);
            if (actionId == EditorInfo.IME_ACTION_DONE) {
                tvD.setText("Your amount of credits" + credits);
                return true;
            }
            return false;
        }
    });
当我点击“完成”按钮时,应用程序崩溃了。我不明白问题出在哪里。请帮忙?谢谢

将代码更改为:

final EditText edC = (EditText) findViewById(R.id.etC);
final TextView tvD = (TextView) findViewById(R.id.tvDisplay); 

tvD.setText("Enter amount of credits");

edC.setOnEditorActionListener(new OnEditorActionListener() {

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        String creditsS = edC.getText().toString().trim();
        int credits = Integer.parseInt(creditsS);
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            tvD.setText("Your amount of credits" + credits);
            return true;
        }
        return false;
    }
});

它崩溃是因为你在没有任何值之前就从edC获取了值,所以它试图解析一个空字符串,结果由于NumberFormatException而崩溃。

日志猫怎么说?请发布一个日志猫。你仍然应该更好地对待用户键入的内容,你仍然可以得到
NumberFormatException
。别忘了把答案标为正确。