【问题标题】:Alert Dialogue box in androidandroid中的警报对话框
【发布时间】:2013-11-20 20:48:26
【问题描述】:

在我的代码中,当我选择 if-elseIf 语句中提到的选项时,我想立即关闭警报对话框并开始活动。我不想要确定和取消按钮。我的代码工作正常(if 语句中的语句有效,但警报对话仍然存在)。感谢您的帮助

final AlertDialog.Builder builder =
    new AlertDialog.Builder(arg0.getContext());
builder.setTitle("Favourities Management");
// TODO Auto-generated method stub
int selected = 0;

builder.setSingleChoiceItems(values, selected, new DialogInterface.OnClickListener() {

    @
    Override
    public void onClick(DialogInterface dialog, int which) {
        if (values[which] == "Select Benificiary") {
            Intent registerUser = new Intent(FinalUtilityBillPayment.this, ListViewBeneficiaryBillPayment.class);
            FinalUtilityBillPayment.this.startActivity(registerUser);
            startActivityForResult(registerUser, 1);
        } else if (values[which] == "Add Benificiary") {
            try {
                mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE, null);
                mydb.execSQL("CREATE TABLE IF  NOT EXISTS " + TABLE + " (ID INTEGER PRIMARY KEY, ReferenceNo TEXT, Mobile Text);");

                mydb.close();
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Error in creating table", Toast.LENGTH_LONG).show();
            }
            try {
                mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE, null);
                mydb.execSQL("INSERT INTO " + TABLE + "(ReferenceNo, Mobile) VALUES('" + ref.getText().toString() + "','" + mob.getText().toString() + "')");
                mydb.close();
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Error in inserting into table", Toast.LENGTH_LONG).show();
            }
        } else if (values[which] == "Delete Benificiary") {

            Intent registerUser = new Intent(FinalUtilityBillPayment.this, ListViewDeleteBeneficiaryBillPayment.class);
            //startActivityForResult(registerUser, 1);
            FinalUtilityBillPayment.this.startActivity(registerUser);




        }

    }
});
AlertDialog alert = builder.create();
alert.show();


}

});

【问题讨论】:

标签: android alert


【解决方案1】:

我的建议是;

    final AlertDialog.Builder builder = new AlertDialog.Builder(arg0.getContext()); 
builder.setTitle("Favourities Management");    
// TODO Auto-generated method stub
int selected = 0;
builder.setSingleChoiceItems(values, 
                            selected, 
                            new DialogInterface.OnClickListener() {

                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        if(values[which]=="Select Benificiary"){
                                            selectBenificiary();

                                            //see more about "dialog.dismiss()" in http://developer.android.com/reference/android/app/Dialog.html#dismiss()
                                            dialog.dismiss();                                               
                                        } else if (values[which]=="Add Benificiary"){
                                            addBenificiary();

                                            //see more about "dialog.dismiss()" in http://developer.android.com/reference/android/app/Dialog.html#dismiss()
                                            dialog.dismiss();
                                        } else if (values[which]=="Delete Benificiary"){
                                            deleteBenificiary();

                                            //see more about "dialog.dismiss()" in http://developer.android.com/reference/android/app/Dialog.html#dismiss()
                                            dialog.dismiss();
                                        }

                                    }
                            });
AlertDialog alert = builder.create();
alert.show();

//Add parameter case necessary
public void selectBenificiary(){
    Intent registerUser = new Intent(FinalUtilityBillPayment.this,ListViewBeneficiaryBillPayment.class);
    //  FinalUtilityBillPayment.this.startActivity(registerUser);
    startActivityForResult(registerUser, 1);
}

//Add parameter case necessary
public void addBenificiary(){
    try{
        mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
        mydb.execSQL("CREATE TABLE IF  NOT EXISTS "+ TABLE +" (ID INTEGER PRIMARY KEY, ReferenceNo TEXT, Mobile Text);");

        mydb.close();
    }catch(Exception e){
        Toast.makeText(getApplicationContext(), "Error in creating table", Toast.LENGTH_LONG).show();
    }

    try{
        mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
        mydb.execSQL("INSERT INTO " + TABLE + "(ReferenceNo, Mobile) VALUES('"+ref.getText().toString() +"','"+  mob.getText().toString()  +"')");
        mydb.close();
    }catch(Exception e){
        Toast.makeText(getApplicationContext(), "Error in inserting into table", Toast.LENGTH_LONG).show();
    }
}   

//Add parameter case necessary
public void deleteBenificiary(){
    Intent registerUser = new Intent(FinalUtilityBillPayment.this, ListViewDeleteBeneficiaryBillPayment.class);
    //startActivityForResult(registerUser, 1);
    FinalUtilityBillPayment.this.startActivity(registerUser);
}

【讨论】:

    【解决方案2】:

    试试这个...在onClick() 中,您可以看到DialogInterface dialog 那个对话框名称。

    在调用其他活动之前使用这个dialog.cancel();

    dialog.cancel();
    
        Intent registerUser = new Intent(FinalUtilityBillPayment.this,ListViewBeneficiaryBillPayment.class);
        //FinalUtilityBillPayment.this.startActivity(registerUser);    
        startActivityForResult(registerUser, 1);
    

    【讨论】:

      【解决方案3】:

      调用 .dismiss() 来关闭它,也可以使用简单的 Dialog 来获得为其设置自定义布局的可能性

      Dialog alert = new Dialog(context);
      alert.setContentView(layoutResID);
      

      【讨论】:

        【解决方案4】:

        您必须关闭警报对话框。试试这个:

        Dialogue.dismiss();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-09-05
          • 2012-10-20
          • 1970-01-01
          • 1970-01-01
          • 2011-12-25
          • 1970-01-01
          • 2011-08-24
          相关资源
          最近更新 更多