Приостановить вызов другого действия из одного действия - PullRequest
1 голос
/ 13 февраля 2012

У меня есть код для вызова действия из основного действия

Button btnAdd=(Button)findViewById(R.id.button1);
btnAdd.setOnClickListener(new View.OnClickListener() {
EditText Name =((EditText)findViewById(R.id.editText1));

public void onClick(View view) {

  if (name1 != "")
  {
    Intent startSub = new Intent(MainActivity.this,activity2.class);
    startSub.putExtra("name", name1);
    startActivity(startSub);
  } else {
    Nm.setError("Enter Name");
  }
}

Моя проблема в том, что когда я нажимаю кнопку без ввода имени, запускается следующее действие (даже если я ввел намерение, еслизаявление).Но я хочу придерживаться этого занятия, пока не введу имя.

Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 19 июня 2012
name1 != ""

всегда будет истинным, потому что! = Сравнивает не строки, а ссылки на объекты. Они не равны для name1 и "".

Вам нужно использовать equals (), чтобы сравнить равенство строк полезным способом:

if (!"".equals(name1)) {

или в этом случае: TextUtils.isEmpty (CharSequence str) еще лучше, потому что это также верно, если name1 равно нулю:

if (!TextUtils.isEmpty(name1)) {
...