如何检查我的editText字段是否为空并使用Button进入新活动?

Dra*_*izu 1 java android

我已经制作了这段代码:

public class MainActivity extends AppCompatActivity {

private ImageButton ourButton;
private EditText operand1;

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

    // Find Views by IDs :
    ourButton = (ImageButton) findViewById(R.id.gobutton);
    operand1 = (EditText) findViewById(R.id.edit_Name);

    String ed_text = operand1.getText().toString().trim();
    if(ed_text.isEmpty() || ed_text.length() == 0 || ed_text.equals("") || ed_text == null)
    {
        ourButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "You did not enter a username", Toast.LENGTH_LONG).show();
            }
        });
    }
    else
    {
        ourButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myIntent = new Intent(MainActivity.this, ScreenName.class);
                MainActivity.this.startActivity(myIntent);
            }
        });
    }

}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我在现场输入或不输入任何内容时按下按钮,它会说:

您没有输入用户名

而下一个活动也不会奏效.

如何让按钮将用户移动到下一个活动,同时确保他输入了一个名字?

Hac*_*ose 5

Use this, I have modified your code..

    public class MainActivity extends AppCompatActivity {

    private ImageButton ourButton;
    private EditText operand1;

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

        // Find Views by IDs :
        ourButton = (ImageButton) findViewById(R.id.gobutton);
        operand1 = (EditText) findViewById(R.id.edit_Name);

        ourButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

        String ed_text = operand1.getText().toString().trim();

        if(ed_text.equals(""))
        {

                    Toast.makeText(MainActivity.this, "You did not enter a username", Toast.LENGTH_LONG).show();
         }
         else
        {
           Intent myIntent = new Intent(MainActivity.this, ScreenName.class);
                    MainActivity.this.startActivity(myIntent);
         }
      }
      });

    } 
Run Code Online (Sandbox Code Playgroud)