Я пытаюсь сделать пользовательское диалоговое окно для показа представления в этом диалоговом окне. Это - код Разработчика:
//Getting the layout
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog_simple,
(ViewGroup) findViewById(R.id.rlDialogSimple));
//Change Text and on click
TextView tvDialogSimple = (TextView) layout.findViewById(R.id.tvDialogSimple);
tvDialogSimple.setText(R.string.avisoComprobar);
Button btDialogSimple = (Button) layout.findViewById(R.id.btDialogSimple);
btDialogSimple.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Do some stuff
//Here i want to close the dialog
}
});
AlertDialog.Builder builder = new AlertDialog.Builder(AcPanelEditor.this);
builder.setView(layout);
AlertDialog alert = builder.create();
alert.show();
Так, я хочу отклонить диалоговое окно в onClick btDialogSimple. Как я могу сделать это? Я не знаю, как назвать отклонить метод из onclicklistener.
Мои кнопки имеют пользовательский макет, таким образом, я не хочу делать builder.setPositiveButton.
Какие-либо идеи?
Вы должны сохранить AlertDialog в свойстве родительского класса, а затем использовать что-то вроде этого:
class parentClass ........ {
private AlertDialog alert=null;
........
public void onClick(View v) {
//Do some stuff
//Here i want to close the dialog
if (parentClass.this.alert!=null)
parentClass.this.alert.dismiss();
}
........
this.alert = builder.create();
this.alert.show();
}