У меня есть класс Java, а не деятельность. Из любого другого вида деятельности я вызвал этот класс, и в этом классе я создал построитель alerttdialog. В том, что я раздуваю данные из БД.
Теперь в этом классе у меня также есть другой слушатель и метод. В одном из методов я хочу закрыть / отменить этот диалог. Нравится, как мы делаем
setResult(RESULT_OK, intent);
finish();
в любой деятельности, то же самое, что я хочу делать в классе.
Код: этот метод я вызвал из активности.
public void showProvidersDialog(long customCategoryId) {
categoryId = customCategoryId;
LayoutInflater li = LayoutInflater.from(context);
promptsView = li.inflate(R.layout.row_providers_layout, null);
init();
alertDialogBuilder = new android.app.AlertDialog.Builder(context, R.style.dialogBoxStyle);
alertDialogBuilder.setView(promptsView);
alertDialogBuilder.setNegativeButton(context.getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
isInsurance();
alertDialogBuilder.show();
//solved: dialog = alertDialogBuilder.create();
dialog.show();
}
И у меня есть еще один метод в том же Java-классе, из этого метода я хочу закрыть текущий диалог.
private void sendProviderData(General provider) {
Singleton.getInstance().setProviderId(provider.getId());
Singleton.getInstance().setProviderIcon(provider.getIcon());
Singleton.getInstance().setProviderName(provider.getName());
//solved
dialog.dismiss
}
Объясните еще раз: видите, я могу отменить диалог внутри отрицательной кнопки. Но я хочу, чтобы в этом диалоговом окне я раздувал строку, включающую один список контактов. Я хочу, чтобы, когда пользователь нажимал на любой контакт (скажем, нажал на ресайклер на сенсорном слушателе), я передаю некоторые данные, используя singleton, и в то же время хочу закрыть диалоговое окно.