2

私のアプリケーションでは、すべてのフィールドが挿入されているかどうかを検証する送信ボタンを使用しています。その後、保存するかどうかを示すアラートダイアログが表示されます。これが私のコードです:

public void OnClick_click2(final Button btnadd)
{
    final Button btn = (Button) btnadd;
    if(btn.getId()==R.id.btnadd){ 

    if(complain_date_txtbx.getText().toString().trim()
            .length() < 1


                        SaveRecord(data);

                        Toast.makeText(getBaseContext(),
                                "Your Task saved Successfully!",
                                Toast.LENGTH_LONG).show();
                    }
                });

        alert.setNegativeButton("Cancel",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int whichButton) {
                        dialog.cancel();
                    }
                });

        alert.show();
        }
}

私の要件にa/cが表示されません。どこが間違っているのか、最初に送信ボタンをクリックすると何が適切かを特定し、すべてのフィールドをチェックしてからアラートダイアログを表示します。親切に案内してください

4

2 に答える 2

4

「;」を削除し ます ifステートメントから

 if(complain_date_txtbx.getText().toString().trim()
            .length() < 1
            || complain_time_txtbx.getText().toString()
                    .trim().length() < 1
            || job_performed_txtbx.getText().toString()
                    .trim().length() < 1

            || next_due_on_txtbx.getText().toString()
                    .trim().length() < 1);  //<<<<<<<<<<

なぜなら 「;」ifステートメントの実行を終了するため、ユーザーはToastを表示できません

編集:コードを次のように変更します:

   if(complain_date_txtbx.getText().toString().trim()
            .length() < 1
            || complain_time_txtbx.getText().toString()
                    .trim().length() < 1
            || job_performed_txtbx.getText().toString()
                    .trim().length() < 1

            || next_due_on_txtbx.getText().toString()
                    .trim().length() < 1)
    {
        // show alert here if all fields are empty
    }
    else{
            // show alertbox here
     }
于 2012-12-19T09:31:47.050 に答える
0

これを使って..

if(complain_date_txtbx.getText().toString().trim().length() <  && complain_time_txtbx.getText().toString().trim().length() < 1   && job_performed_txtbx.getText().toString().trim().length() < 1   && next_due_on_txtbx.getText().toString().trim().length() < 1)
 {
        Toast.makeText(getBaseContext(),
                "Please fill all the fields",
                Toast.LENGTH_LONG).show();
 }
于 2012-12-19T09:33:34.613 に答える