2013-11-20 3 views
0

В моем коде я хочу немедленно закрыть диалоговое окно предупреждения и начать действия, когда я выбираю опции, указанные в операторах if-elseIf. Я не хочу нормально и отменить кнопки. Мой код работает нормально (заявления внутри if, но все же есть диалог с оповещением). Спасибо за помощьДиалоговое окно предупреждения Alert в android

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(); 


} 

}); 
+0

Если вы не хотите кнопку ok и отменить, чем вы используете диалоговое окно с предупреждением? –

+0

увольнение не работает ... я хочу всплывающие опции, чтобы выбрать на клик .. есть ли какой-нибудь другой вариант? – user2768215

+0

http://stackoverflow.com/a/4805906/1318946 –

ответ

1

Мои sugestion is;

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); 
} 
+0

вы awsum..thnx – user2768215

0

Вы должны отклонить диалог оповещений. Попробуйте это:

Dialogue.dismiss(); 
0

Попробуйте это ... в этом onClick() вы можете увидеть, что диалоговое имя DialogInterface dialog.

использовать этот dialog.cancel(); перед вызовом другой деятельности

dialog.cancel(); 

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

вызов .dismiss() для closiong его, а также использовать простой диалог, чтобы получить возможность настройки пользовательского макета для него

Dialog alert = new Dialog(context); 
alert.setContentView(layoutResID); 
Смежные вопросы