0

誰かが助けてくれることを願っています!私はAndroidにかなり慣れておらず、テキストフィールドに問題があります。ユーザーに情報の入力を要求する3つのテキストフィールドがあります。登録ボタンがクリックされると、メッセージがユーザーに登録されていることを通知し、ログインアクティビティにリダイレクトします。私の問題は、ユーザーが3つのテキストフィールドをすべて完了したかどうかを確認し、完了していない場合はエラーメッセージを表示して、再試行できるようにすることです。エラーメッセージを表示することはできますが、regボタンをクリックするとすべてのテキストフィールドが完了していなくても、登録されていることをユーザーに通知し、ユーザーをログインアクティビティにリダイレクトします。誰かが間違っていると教えてくれる場合は、コードを投稿しました。 、 前もって感謝します!

@Override
  public void onClick(View arg0) {
   // TODO Auto-generated method stub
   String data1 = inputName.getText().toString();
        if(data1.trim().equals("")){
            Toast.makeText(RegisterActivity.this, "Please enter your name",
                    Toast.LENGTH_SHORT).show();
}
   String data2 = inputEmail.getText().toString();
        if(data2.trim().equals("")){
            Toast.makeText(RegisterActivity.this, "please enter email address",
                    Toast.LENGTH_SHORT).show();
        }
   String data3 = inputPassword.getText().toString();
        if(data3.trim().equals("")){
            Toast.makeText(RegisterActivity.this, "Please enter a password",
          Toast.LENGTH_SHORT).show();
        }

   if(data1 != null && data2 != null && data3!= null){
   mySQLiteAdapter.insert(data1, data2, data3);
   updateList();
   Toast.makeText(RegisterActivity.this, "You are now registered",
           Toast.LENGTH_SHORT).show();

   startActivity(new Intent(getApplicationContext(), LoginActivity.class));
   inputName.setText("");
   inputEmail.setText("");
   inputPassword.setText("");
  }
        else Toast.makeText(RegisterActivity.this, "Error please try again!",
               Toast.LENGTH_SHORT).show();
  }

   };
4

3 に答える 3

3

ここ:

if(data1 != null && data2 != null && data3!= null)

それらはnull、空の文字列("")ではありません。これは常に真実です。

于 2013-02-08T18:59:16.177 に答える
0

あなたはオルソを使うことができますTextUtils.isEmpty(string)

   if (!TextUtils.isEmpty(data1) && !TextUtils.isEmpty(data2) && !TextUtils.isEmpty(data2)) {
        Log.d(TAG, "All three Strings are not empty or null!");
    }
于 2013-02-08T19:07:06.623 に答える
0

有益な回答をありがとう、私は私の問題を解決したと思います!私の解決策が他の誰かに役立つことを願っています!

@Override
  public void onClick(View arg0) {
   // TODO Auto-generated method stub
   String data1 = inputName.getText().toString();
   String data2 = inputEmail.getText().toString();
   String data3 = inputPassword.getText().toString();

   boolean invalid = false;

    if(data1.equals("")){
        invalid = true;
        Toast.makeText(getApplicationContext(), "Username Missing", Toast.LENGTH_SHORT).show();
    }else if(data2.equals("")){
        invalid = true;
        Toast.makeText(getApplicationContext(), "Email ID Missing", Toast.LENGTH_SHORT).show();
    }else if(data3.equals("")){
        invalid = true;
        Toast.makeText(getApplicationContext(), "Password Missing", Toast.LENGTH_SHORT).show();
    }

    if(invalid == false){
        mySQLiteAdapter.insert(data1, data2, data3);
           updateList();
           Toast.makeText(RegisterActivity.this, "You are now registered",
                   Toast.LENGTH_SHORT).show();

        Intent i_register = new Intent(RegisterActivity.this, LoginActivity.class);
        startActivity(i_register);

        inputName.setText("");
        inputEmail.setText("");
        inputPassword.setText("");
        finish();
    }   

   /*mySQLiteAdapter.insert(data1, data2, data3);
   updateList();
   Toast.makeText(RegisterActivity.this, "You are now registered",
           Toast.LENGTH_SHORT).show();

   startActivity(new Intent(getApplicationContext(), LoginActivity.class));*/


  }

   };
于 2013-02-08T19:30:20.937 に答える