Я создал класс (Paperclip), который создает настраиваемое диалоговое окно на экране. В своей деятельности я создаю экземпляр «Паперклипа» и создаю диалоговое окно над активностью. Я хочу, чтобы при нажатии определенной кнопки выполнялся какой-то код в действии. Я хочу, чтобы этот код выполнялся из действия, потому что мне нужно диалоговое окно, которое я могу повторно использовать во множестве различных действий в рамках проекта.Из класса вызовите функцию из действия
Я думал о создании переменной в классе и прикреплял к ней слушателя. Это хороший способ, или есть более легкое решение?
public class Paperclip {
int i = 0;
Dialog myDialog;
TextView t;
int mid;
Context context2;
public Paperclip(Context context) {
super();
context2 = context;
}
public void Showit(final String[] Messages) {
final int lengte = Messages.length;
myDialog = new Dialog(context2, R.style.CustomDialogTheme);
myDialog.setContentView(R.layout.messagebox);
t = (TextView) myDialog.findViewById(R.id.message);
if (lengte != 0) {
if (i < lengte) {
t.setText(Messages[i]);
i++;
}
Button iets = (Button) myDialog.findViewById(R.id.mbja);
iets.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (i < lengte) {
t.setText(Messages[i]);
i++;
} else{
t.setText("Ik hoop dat deze informatie nuttig was. Klik op Ja om alles opnieuw te horen.");
i = 0;
}
}
});
}
Button iets2 = (Button) myDialog.findViewById(R.id.button2);
iets2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myDialog.dismiss();
}
});
Button iets3 = (Button) myDialog.findViewById(R.id.button3);
iets2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TODO: execute code from activity here.
}
});
myDialog.show();
}
}
Спасибо!
Пожалуйста, добавьте фрагменты кода – Chris
Если вы хотите сделать диалог компонентом (многоразовым в других проектах), я просто передам ему ссылку на экземпляр активности и вызову метод напрямую. – SJuan76
вы должны немного прочитать о [DialogFragments] (http://developer.android.com/guide/topics/ui/dialogs.html) – thepoosh