2013-06-04 1 views
0

У меня есть несколько действий A, B, C У меня есть метод isOnline в классе D, который создает диалог (всегда такой же). Из действий A/B/C я звоню isOnline. Возможно ли найти операцию, которая называется isOnline, только в классе D без отправки объекта из A/B/C в D?Как обратиться к последнему виду деятельности?

+1

на стороне отметить, что это звучит как вы пытаетесь определить, есть ли интернет-соединение или нет. Эта библиотека сделает это: https://github.com/novoda/merlin – Blundell

+0

трюк заключается в том, чтобы заполнить эту проверку. – njzk2

ответ

0

Есть ли что-то не так с передачей ссылки на деятельность?

public boolean isOnline(Activity a) { 
    // ... 
} 

Вы могли бы пройти ни в чем на самом деле, может быть, только имя деятельности (или какой-либо другой уникальный идентификатор):

public class MyActivity extends Activity { 
    public static final String TAG = "MyActivity"; 

    void someMethod() { 
     OtherClass.isOnline(TAG); 
    } 
} 

 

public boolean isOnline(String tag) { 
    // inspect TAG 
} 
+0

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

+0

Создайте класс BaseActivity, который расширяет все ваши другие действия и помещает 'isOnline()' там. – Karakuri