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

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

Войти
Регистрация
Восстановить пароль
 
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
#1

Вызов метода из класса в таймере - Android

20.07.2014, 14:03. Просмотров 478. Ответов 6
Метки нет (Все метки)

Не могу получить титул веб страницы в таймере (ошибка).
Пример:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    public class Main_Web extends WebView {
 
        String texst = "test_project";
        
        public Main_Web(Context context) {
            super(context);
            loadUrl("*.html");
            title_timer.schedule(new B(), 0, 1000);
        }
        
 
    }
 
    public class B extends TimerTask implements Runnable {
        
        @Override
        public void run() {
            Main_Web a = new Main_Web(getApplicationContext());
            String temp = a.getTitle();
        }
        
    }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2014, 14:03     Вызов метода из класса в таймере
Посмотрите здесь:

Android Вызов функции из класса
Вызов новой активити не из класса активити Android
Android Вызов класса из класса
После закрытия приложения пользователем код в таймере продолжает выполняться Android
Вызов метода из другого Activity Android
Android Вызов метода перед завершением работы приложения
Вызов нестатического метода из другого класса Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
20.07.2014, 14:06     Вызов метода из класса в таймере #2
что за ошибку пишет в логи?
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
20.07.2014, 14:32  [ТС]     Вызов метода из класса в таймере #3
07-20 11:32:07.924: E/AndroidRuntime(4349): FATAL EXCEPTION: Timer-0
07-20 11:32:07.924: E/AndroidRuntime(4349): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.os.Handler.<init>(Handler.java:121)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebViewClassic$PrivateHandler.<init>(WebViewClassic.java:7126)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebViewClassic.<init>(WebViewClassic.java:764)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebViewClassic$Factory.createWebView(WebViewClassic.java:1285)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.ensureProviderCreated(WebView.java:1783)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.setOverScrollMode(WebView.java:1836)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.view.View.<init>(View.java:3237)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.view.View.<init>(View.java:3295)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.view.ViewGroup.<init>(ViewGroup.java:427)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.<init>(WebView.java:504)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.<init>(WebView.java:481)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.<init>(WebView.java:467)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.<init>(WebView.java:456)
07-20 11:32:07.924: E/AndroidRuntime(4349): at android.webkit.WebView.<init>(WebView.java:446)
07-20 11:32:07.924: E/AndroidRuntime(4349): at ru.example.app_web.MainActivity$Main_Web.<init>(MainActivity.java:75)
07-20 11:32:07.924: E/AndroidRuntime(4349): at ru.example.app_web.MainActivity$B.run(MainActivity.java:110)
07-20 11:32:07.924: E/AndroidRuntime(4349): at java.util.Timer$TimerImpl.run(Timer.java:284)
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
20.07.2014, 14:34     Вызов метода из класса в таймере #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вы пытаетесь выполнить UI операцию из вне.
http://stackoverflow.com/questions/3...epare-inside-a
Sony17
28 / 28 / 6
Регистрация: 24.05.2013
Сообщений: 157
20.07.2014, 14:37     Вызов метода из класса в таймере #5
Зачем реализовывать интерфейс Runnable, если TimerTask и так работает в демон-потоке?
Jason
387 / 387 / 46
Регистрация: 25.12.2011
Сообщений: 898
20.07.2014, 15:28  [ТС]     Вызов метода из класса в таймере #6
Цитата Сообщение от NiRamz Посмотреть сообщение
вы пытаетесь выполнить UI операцию из вне.
http://stackoverflow.com/questions/3...epare-inside-a
Я это понял. А можно простой пример того что по ссылке).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2014, 16:25     Вызов метода из класса в таймере
Еще ссылки по теме:

Создание класса и вызов его методов Android
Вызов метода при каждом открытии приложения Android
Android Вызов класса
Android Вызов функций из класса
Null при вызове метода из другого класса Android

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

Или воспользуйтесь поиском по форуму:
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
20.07.2014, 16:25     Вызов метода из класса в таймере #7
по той ссылке есть и примеры
Yandex
Объявления
20.07.2014, 16:25     Вызов метода из класса в таймере
Ответ Создать тему
Опции темы

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