0

私はいくつかのeditTextに少し苦労しています:Sユーザーがフィールドに入力したかどうかをいくつかの条件で確認したいと思います:私のコードは機能していないようです。

コード :

..。

     input.setText("rrr");
     input2.setText("rrr");

     AlertDialog.Builder builder = new AlertDialog.Builder(ctx);

     builder.setCancelable(true);
     builder.setTitle("Add a friend");
     builder.setMessage("Fill in the fields you know :");

     builder.setView(layout);

    builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {

            if(input.getEditableText() != null && input2.getEditableText() != null && input3.getEditableText() != null){

                Dialog d = new Dialog(ctx);
                d.setTitle("BLiBLiBLi !");
                d.show();

            }else if(input.getEditableText() != null && input2.getEditableText() != null && input3.getEditableText() == null){

                Dialog d = new Dialog(ctx);
                d.setTitle("BLABLABLA !");
                d.show();

            }

..。

ご覧のとおり、最初の2つのフィールドにはsetText( "rrr");があります。しかし、3番目の条件ではありません...したがって、2番目の条件が指摘され(3番目の入力を入力しない場合)、BLABLABLAメッセージが表示されますが、常にBLiBLiBLi:'((コース:p)

input.getEditableText()!= nullをinput.getEditableText()。toString!= ""で変更するか、このinput.setText( "");のように入力を設定しようとしました。またはinput.setText(null); :それはうまくいきません私はいつも私のすべてのフィールドが何かで埋められていると思う最初の状態になります

4

4 に答える 4

1

それぞれのテキストの長さを確認してくださいEditText。これはあなたが望むことをします...

if(input.getText().toString().length() > 0 && input2.getText().toString().length() > 0 && input3.getText().toString().length() > 0 ){

    Dialog d = new Dialog(ctx);
    d.setTitle("BLiBLiBLi !");
    d.show();

} else if(input.getText().toString().length() > 0 && input2.getText().toString().length() > 0 && input3.getText().toString().length() == 0 ) {

    Dialog d = new Dialog(ctx);
    d.setTitle("BLABLABLA !");
    d.show();
}
于 2012-06-04T00:20:10.750 に答える
0

こんにちは、この方法も試すことができます。

    EditText usernameEditText = (EditText)  findViewById(R.id.editUsername);
    sUsername = usernameEditText.getText().toString();
    if (sUsername.matches("")) {
    Toast.makeText(this, "You did not enter a username",Toast.LENGTH_SHORT).show();
    return;
}
于 2015-05-05T10:53:52.250 に答える
0

input.getText() != nullに変更する必要がありますinput.getText().toString().equals("")。EditText フィールドが空の場合、null ではなく空の文字列 (text="") が含まれていることを意味します。

これを行う最も簡単で「最も美しい」方法は、TextUtils.isEmpty()を使用することです

于 2012-06-04T00:21:46.113 に答える
0

必要なコードは、EditText の文字列の長さを確認することです。

if( EditText.getText().length() > 0 ){
    do something here if text exists
   }else{
    do something else here if empty
        }
于 2012-06-04T00:19:22.487 に答える