Вызов функции из основного действия в Android

#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:

Нет, описанный вами способ невозможен, поскольку ваше основное действие вызывается первым, если другое ваше действие, из которого вы хотите вызвать эту функцию, не инициализировано, то эта функция не может быть вызвана. Я предлагаю поместить эту функцию так, чтобы ее можно было использовать повторно. что-то вроде в классе одноэлементных шаблонов / классе утилит