В моем приложении отображается много настраиваемых диалоговых окон, таких как "Да/Нет" или "Принять/Отменить", и, хотя я был кодированием, я понял, что повторяется много кода, следуя той же схеме.
Я хочу создать общий класс, но я не знаю, как это сделать или, точнее, правильный способ, которым я должен это делать (интерфейсы, абстрактные классы, наследование, статические классы,...)
Это мой текущий класс:
public class DialogTwoOptions extends Dialog {
TextView title_tv;
// Button yes_btn, no_btn;
public DialogTwoOptions(Context context)
{
super(context);
setContentView(R.layout.dialogo_sino); // a simple layout with a TextView and Two Buttons
title_tv = (TextView) findViewById(R.id.dialogo_titulo_sino);
// yes_btn = (Button) findViewById(R.id.dialogo_aceptar);
// no_btn = (Button) findViewById(R.id.dialogo_cancelar);
View v = getWindow().getDecorView();
v.setBackgroundResource(android.R.color.transparent);
}
public void quitDialog(View v) {
if (isShowing()) dismiss();
}
public void setTitle(String title) {
title_tv.setText(title);
}
}
И это то, что я делаю, когда мне нужно использовать этот класс:
final DialogTwoOptions dialog = new DialogTwoOptions(this);
Button yes = (Button) dialog.findViewById(R.id.dialog_yes_btn);
Button no = (Button) dialog.findViewById(R.id.dialog_no_btn);
yes.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v) {
dialog.dismiss();
// Do something
}
});
no.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v) {
dialog.dismiss();
// Do something
}
});
dialog.show();
Я уверен, что это улучшилось, но как вы могли это сделать?
Спасибо