Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Deno95
11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 108

Как OkHTTP ответ вывести в TextView?

11.04.2016, 15:58. Показов 2131. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема с потоками, так как не давно начал работать с android возникли непонимания.

Для оправки Get запроса использую библиотеку OkHTTP.

Создал класс Get.java:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import okhttp3.Callback;
import okhttp3.OkHttpClient;
 
public class Get {
    private final OkHttpClient client = new OkHttpClient();
 
    public void run(String url, Callback callback) {
 
        okhttp3.Request request = new okhttp3.Request.Builder()
                .url(url)
                .build();
 
        client.newCall(request).enqueue(callback);
    }
}
В MainActivity.java вызываю запрос и пытаюсь вывести:

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
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
 
import java.io.IOException;
 
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
 
public class MainActivity extends AppCompatActivity {
    TextView  test123;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Get test = new Get();
        test123 = (TextView) findViewById(R.id.test);
 
        test.run("https://geocode-maps.yandex.ru/1.x/?geocode=E52.091002%S23.721111",
                new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {
 
                    }
 
                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                        @Override
                        public void run() {
 
                        }
                        test123.setText(response.body().string());
                    }
                });
    }
}
Log error:
FATAL EXCEPTION: OkHttp Dispatcher
Process: com.d_code.myapplication, PID: 5292
android.view.ViewRootImpl$CalledFromWron gThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(Vi ewRootImpl.java:6669)
at android.view.ViewRootImpl.requestLayout( ViewRootImpl.java:972)
at android.view.View.requestLayout(View.jav a:16757)
at android.view.View.requestLayout(View.jav a:16757)
at android.view.View.requestLayout(View.jav a:16757)
at android.view.View.requestLayout(View.jav a:16757)
at android.view.View.requestLayout(View.jav a:16757)
at android.view.View.requestLayout(View.jav a:16757)
at android.widget.RelativeLayout.requestLay out(RelativeLayout.java:369)
at android.view.View.requestLayout(View.jav a:16757)
at android.widget.TextView.checkForRelayout (TextView.java:6781)
at android.widget.TextView.setText(TextView .java:3850)
at android.widget.TextView.setText(TextView .java:3708)
at android.widget.TextView.setText(TextView .java:3683)
at com.d_code.myapplication.MainActivity$1. onResponse(MainActivity.java:33)
at okhttp3.RealCall$AsyncCall.execute(RealC all.java:133)
at okhttp3.internal.NamedRunnable.run(Named Runnable.java:32)
at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Может кто поможет с решением или кардинально поменяет код что бы он работал?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2016, 15:58
Ответы с готовыми решениями:

Как можно вывести TextView c рандомными цветами из массива
Как можно вывести 20 штук TextView чтоб цвет фона TextView выбирался случайным образом из массива color. У меня тут выводятся отрицательные...

Вывести ответ «Да», если все цифры четные, и ответ «Нет» в остальных случаях.
С клавиатуры вводится трёхзначное число. Нужно вывести ответ «Да», если все его цифры четные, и ответ «Нет» в остальных случаях.

Как рассчитать разницу между новыми введенными данными в EditText и старыми и вывести результат в Textview?
Ребят нужна помощь, я только начал изучать андроид, собственно в своем приложении мне нужно чтобы новые введённые данные в EditText...

6
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
11.04.2016, 16:11
поиск по форуму тебе поможет "Only the original thread that created a view hierarchy can touch its views"
0
 Аватар для Deno95
11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 108
11.04.2016, 16:31  [ТС]
Цитата Сообщение от Паблито Посмотреть сообщение
поиск по форуму тебе поможет "Only the original thread that created a view hierarchy can touch its views"
Описать не вариант тут?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
11.04.2016, 16:35
Цитата Сообщение от Deno95 Посмотреть сообщение
Описать не вариант тут?
вбить в поиск на форуме не вариант?
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
11.04.2016, 17:18
Deno95, этот вопрос поднимается стабильно раз в неделю
0
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
11.04.2016, 17:22
вбить в поиск на форуме не вариант?
да даже не в поиск на форуме, а в поиск в гугле...
0
11.04.2016, 17:31

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2016, 17:31
Помогаю со студенческими работами здесь

С клавиатуры вводится трёхзначное число. Нужно вывести ответ «Да», если все его цифры четные, и ответ «Нет» в остальных
С клавиатуры вводится трёхзначное число. Нужно вывести ответ «Да», если все его цифры четные, и ответ «Нет» в остальных случаях. Помогите...

Как вывести ответ на окно?
Ребят как вывести ответ на окно? #include "mainwindow.h" #include <QApplication> #include<iostream> int main(int argc, char...

цикл while. как вывести ответ
Как сделать так, то бы он при каждом цикле выводил ответ, потом следовал дальше и выдавал опять ответ и причем что бы это выглядило...

Как красиво вывести ответ?
Program l2k; var f:array of integer; a,b,i,k,n,g,v,m:integer; begin for i:=0 to 1000000 do begin ...

Как вывести ответ на экран
Всем привет! Учиться программировать начал недавно. Пытаюсь сделать программку для расчёта (Отбойный устройств). Расчёты подготовил, так...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru