Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 46, средняя оценка - 4.74
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

Как запустить метод из другого класса? - Программирование Android

24.06.2013, 21:22. Просмотров 6768. Ответов 21
Метки нет (Все метки)

есть класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class Class1 extends DialogFragment implements OnClickListener {
 
    TextView textViewMessage;
 
    String name;
    String nameEvent;
 
    Class2 class2;
 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        class2 = new Class2();
 
        View v = inflater.inflate(R.layout.class, null);
        v.findViewById(R.id.button1).setOnClickListener(this);
        v.findViewById(R.id.button2).setOnClickListener(this);
 
        return v;
    }
 
    public void onClick(View v) {
 
        switch (v.getId()) {
        case R.id.button1:
            dismiss();
            break;
        case R.id.button2:
 
            class2.stActivity();
 
            break;
        }
 
    }
 
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
    }
 
    public void onCancel(DialogInterface dialog) {
        super.onCancel(dialog);
    }
 
}
из него я так: class2.startLoginActivity(); вызываю метод из другого класса. Вот класс который содержит вызывающий метод:

Java
1
2
3
4
5
6
7
8
9
10
public class Class2 extends Activity {
 
    private static final int REQUEST_LOGIN = 1;
 
                public void stActivity() {
        Intent intent = new Intent();
        intent.setClass(this, myActivity.class);
        startActivityForResult(intent, REQUEST_LOGIN);
    }
}
Но выскакивает nullPointExeption. Я так понимаю проблемы с контекстом, помогите примером или поправьте выложенный код, уже не знаю как правильно здесь всё сделать.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 21:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как запустить метод из другого класса? (Программирование Android):

Как изменить Textview из другого класса (класса адаптера RecyclerView) - Программирование Android
У меня есть список RecyclerView тоесть этот файл Basket и файл что реализует cardwiew BasketAdapter. как мне изменить TextView allPrice из...

Подскажите как запустить через Inten Activity другого приложения - Программирование Android
Добрый день! весь смысл такой я могу просто запустить другое приложение, например как сейчас: Intent intent =...

Как выполнить setContentView из другого класса? - Программирование Android
Есть класс "Core" который является "точкой входа" в приложение, и есть класс в котором я меняю контент, но если я просто допишу "extends...

Как запустить метод из Service? - Программирование Android
При запуске сервиса в onCreate запускается метод, когда он отрабатывает запускается PendingIntent.getBroadcast. Как сделать чтобы...

Как передать данные в Activity из другого класса - Программирование Android
При нажатии на кнопку, создается активити orgAdapter = new OrgAdapter(this, orgs); GridView gridView = (GridView)...

Как запустить метод в Activity из BroadcastReceiver - Программирование Android
Здравствуйте!!! Все до банальности просто и повторяется, по кругу :) Новичок, увлекся Java & Android... Пытаюсь изобразить приложения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
24.06.2013, 21:34 #2
Например
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
 
public class ConnectionDetector {
 
    private Context _context;
 
    public ConnectionDetector(Context context){
        this._context = context;
    }
 
    public boolean isConnectingToInternet(){
        ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
          if (connectivity != null)
          {
              NetworkInfo[] info = connectivity.getAllNetworkInfo();
              if (info != null)
                  for (int i = 0; i < info.length; i++)
                      if (info[i].getState() == NetworkInfo.State.CONNECTED)
                      {
                          return true;
                      }
 
          }
          return false;
    }
}
Использование
Java
1
2
3
4
ConnectionDetector cd;
 
cd = new ConnectionDetector(getApplicationContext());
isInternetPresent = cd.isConnectingToInternet();
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.06.2013, 21:59  [ТС] #3
@Digetix, огромное вам спасибо за пример, но а не могли бы вы свой выложенный код применить к моему выложенному коду, а то я не понимаю...
заранее спасибо за понимание.
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 22:08 #4
нельзя создавать экземпляр активити.
а почему вы поместили метод в другой класс?
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
24.06.2013, 22:19 #5
Цитата Сообщение от V0v1k Посмотреть сообщение
нельзя создавать экземпляр активити.
а почему вы поместили метод в другой класс?
Это кому вопрос?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 22:25 #6
да автору.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.06.2013, 22:31  [ТС] #7
Цитата Сообщение от V0v1k Посмотреть сообщение
а почему вы поместили метод в другой класс?
просто мне нужно будет вызовать метод из разных других активностей и дублировать один и тот же код в каждом новом классе как-то не разумно. Хочу всё в одном классе разместить а потом просто вызывать метод. Ещё плюс там будет не один метод а несколько.
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 23:16 #8
ну так выносите метод с активити в какой-то отдельный вспомогательный класс или в родительский класс.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.06.2013, 23:22  [ТС] #9
Цитата Сообщение от V0v1k Посмотреть сообщение
ну так выносите метод с активити в какой-то отдельный вспомогательный класс или в родительский класс.
я выношу, в первом посте описано, и код представлен. Но не получается, не запускается метод.
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 23:23 #10
где вы выносите? я не вижу.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.06.2013, 23:36  [ТС] #11
Вот:
Java
1
2
3
4
5
6
7
8
9
10
public class Class2 extends Activity {
 
    private static final int REQUEST_LOGIN = 1;
 
                public void stActivity() {
        Intent intent = new Intent();
        intent.setClass(this, myActivity.class);
        startActivityForResult(intent, REQUEST_LOGIN);
    }
}
Добавлено через 11 минут
я для примера привел один метод...
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 23:46 #12
это родительский класс или что?
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.06.2013, 23:51  [ТС] #13
Цитата Сообщение от V0v1k Посмотреть сообщение
это родительский класс или что?
нет, это просто отдельный ни от кого не зависящий класс, да ещё и в другом Package.
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 23:52 #14
а почему он активити?
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.06.2013, 23:54  [ТС] #15
Цитата Сообщение от V0v1k Посмотреть сообщение
а почему он активити?
просто я много тестов пытался проделать, чтобы запустить метод. Это было одним из них. Таким образом я пытался context получить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 23:54
Привет! Вот еще темы с ответами:

Как запустить метод Fragment из MainActivity? - Программирование Android
есть фрагмент с картой, в нем метод: public void Sputnik(GoogleMap map) { ...

Как запустить метод в заданное время - Программирование Android
Доброго времени суток) Борюсь над задачей, в которой нужно, чтобы в указанное время запускался метод, даже если приложение было...

Как запустить метод в сервисе, в определённое время? - Программирование Android
Как запускать метод в сервисе, с понедельника по пятницу в определённое время? Подскажите пожалуйста кто знает куда смотреть?

Запустить runOnUiThread из класса - Программирование Android
Пишу программку, которая записывает звук, анализирует и выдаёт результат на экран. Когда весь код в Activity всё работает. Решил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.06.2013, 23:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru