如何阻止应用程序停止使用EditText(对于数字)是空的?

时间:2017-02-03 12:29:24

标签: java android onclick

我是Android开发的新手,并尝试使用以下代码制作应用,但是一旦我按下"分数"按钮,应用程序崩溃。我尝试在OnClick方法下为"分数"添加Toast消息。按钮来防止这种情况,但似乎我无法从onClick方法下的相同EditText中检索int和String(当我这样做时它会继续关闭应用程序)。以下代码尝试但没有运气。那么,当EditText为空时,任何人都可以帮助我使用正确的代码来防止应用程序崩溃吗?我尝试了下面的测试代码,但问题仍然相同。

displayScore1.getText().toString().equals("")
displayScore1.getText().toString().matches("")
displayScore1.getText().length() != 0

package com.example.android.test;

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 org.w3c.dom.Text;

public class MainActivity extends AppCompatActivity {

    int score1;

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

        Button test = (Button)findViewById(R.id.button);
        test.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                EditText displayScore1 = (EditText) findViewById(R.id.score);
                score1 = Integer.parseInt(displayScore1.getText().toString());

                if (!displayScore1.getText().toString().trim().isEmpty()){
                    displayText(score1);
                }
                else{
                    Toast.makeText(MainActivity.this, "Please enter the Number of Tricks", Toast.LENGTH_SHORT).show();
                }
            }
            });
    }

    public void displayText(int message){
        TextView display = (TextView)findViewById(R.id.text);
        display.setText("" + message);
    }


}

2 个答案:

答案 0 :(得分:1)

您可以使用任何方法,但需要注意空格和新行。一个例子如下所示。

if(!displayScore1.getText().toString().trim().isEmpty()){
// edittext has some thing
}else{
//do what you want to do when edittext is empty
}

答案 1 :(得分:0)

试试这个

 displayScore1.getText().toString().trim().length()==0{
//your code

}