#android #function #android-activity
#Android #функция #android-activity
Вопрос:
У меня есть основное действие (действие, запущенное в начале в режиме singletop)… Чем в другом действии, я хочу получить доступ к функции (ниже) в основном действии
public boolean checkConnections()
{
if (isOnline() == false)
{
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Ni povezave!");
alertDialog.setMessage("Pred uporabo je potrebno napravo povezati na internet!");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
} });
alertDialog.setButton2("Poizkusi ponovno", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
} });
alertDialog.show();
return false;
}
else
{
return true;
}
}
Возможно ли это? Если это так, я хотел бы спросить, как…
Ответ №1:
Вы должны либо унаследовать этот main Activity
, либо сделать этот метод статическим. Вы не можете должным образом вызвать этот метод из другого действия, даже если у вас там будет ссылка на основное действие, потому что для представления (диалогового окна) требуется видимое действие в качестве контекста.
Ответ №2:
Нет, описанный вами способ невозможен, поскольку ваше основное действие вызывается первым, если другое ваше действие, из которого вы хотите вызвать эту функцию, не инициализировано, то эта функция не может быть вызвана. Я предлагаю поместить эту функцию так, чтобы ее можно было использовать повторно. что-то вроде в классе одноэлементных шаблонов / классе утилит