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

Из WebView в TextView - Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
02.02.2014, 06:54     Из WebView в TextView #1
С WebView всё легко. Чтобы загрузить страницу, нужно всего-то воспользоваться одной строкой кода:
Java
1
WebView.loadUrl("http://example.com");
Но вот как загрузить то, что есть в WebView, в TextView?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 06:54     Из WebView в TextView
Посмотрите здесь:

Android WebView
Цвет TextView Android
Android TextView in ProgressBar
WebView Android
Изменение TextView Android
Android Webview
Часы в TextView Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
02.02.2014, 09:51     Из WebView в TextView #2
Цитата Сообщение от FazonFix Посмотреть сообщение
Но вот как загрузить то, что есть в WebView, в TextView?
Попробуйте способ описанный здесь http://stackoverflow.com/questions/9...out-of-webview
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
04.02.2014, 15:49  [ТС]     Из WebView в TextView #3
Цитата Сообщение от angryrobot Посмотреть сообщение
Попробуйте способ описанный здесь http://stackoverflow.com/questions/9...out-of-webview
Этот способ не возвращает в TextView ничего. Может я что-то не так делаю?
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
04.02.2014, 16:10     Из WebView в TextView #4
Цитата Сообщение от FazonFix Посмотреть сообщение
Но вот как загрузить то, что есть в WebView, в TextView?
TextView поддерживает ограниченное число тегов
Кликните здесь для просмотра всего текста
Tags Supported by Html.fromHtml()
For some reason, Html.fromHtml() handles a different set of of tags than static text supports. Here's a list of the tags (gleaned from Html.java's source code):
<a> (supports attribute "href")
<b>
<big>
<blockquote>
<br>
<cite>
<dfn>
<div>
<em>
<font> (supports attributes "color" and "face")
<i>
<img> (supports attribute "src". Note: you have to include an ImageGetter to handle retrieving a Drawable for this tag)
<p>
<small>
<strong>
<sub>
<sup>
<tt>
<u>

The font "color" attribute supports some color names (along with the normal integer-based color scheme):
aqua
black
blue
fuchsia
green
grey
lime
maroon
navy
olive
purple
red
silver
teal
white
yellow


Всю страницу нужно загрузить в строку.
Java
1
2
3
TextView myTextView = (TextView) findViewById(R.id.my_textview);
Spanned spanned = Html.fromHtml("строка_с_html_кодом_страницы");
myTextView.setText(spanned);
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
04.02.2014, 16:51  [ТС]     Из WebView в TextView #5
Java
1
2
3
TextView myTextView = (TextView) findViewById(R.id.my_textview);
Spanned spanned = Html.fromHtml("строка_с_html_кодом_страницы");
myTextView.setText(spanned);
За это спасибо. Но как вместо строка_с_html_кодом_страницы вставить содержимое из WebView.loadUrl("http://example.com");?
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
04.02.2014, 17:04     Из WebView в TextView #6
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
    public static String get(String url) {
        HttpClient httpClient = new DefaultHttpClient();
        HttpParams httpParams = httpClient.getParams();
        HttpGet request = new HttpGet(url);
        try {
              HttpResponse response = httpClient.execute(request);
              // Check if server response is valid
              StatusLine status = response.getStatusLine();
              if (status.getStatusCode() != 200) {
                  throw new IOException("Invalid response from server: " + status.toString());
              }
              // Pull content stream from response
              HttpEntity entity = response.getEntity();
              InputStream inputStream = entity.getContent();
 
              ByteArrayOutputStream content = new ByteArrayOutputStream();
 
              // Read response into a buffered stream
              int readBytes = 0;
              byte[] sBuffer = new byte[512];
              while ((readBytes = inputStream.read(sBuffer)) != -1) {
                  content.write(sBuffer, 0, readBytes);
              }
 
              // Return result from buffered stream
              return new String(content.toByteArray());
          } catch (IOException e) {
              e.printStackTrace();
          }
        
        return null;
    }
Вызывать String page = get("http://example.com"); в отдельном потоке.
FazonFix
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 26
04.02.2014, 17:26  [ТС]     Из WebView в TextView #7
Цитата Сообщение от Netscape Посмотреть сообщение
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
    public static String get(String url) {
        HttpClient httpClient = new DefaultHttpClient();
        HttpParams httpParams = httpClient.getParams();
        HttpGet request = new HttpGet(url);
        try {
              HttpResponse response = httpClient.execute(request);
              // Check if server response is valid
              StatusLine status = response.getStatusLine();
              if (status.getStatusCode() != 200) {
                  throw new IOException("Invalid response from server: " + status.toString());
              }
              // Pull content stream from response
              HttpEntity entity = response.getEntity();
              InputStream inputStream = entity.getContent();
 
              ByteArrayOutputStream content = new ByteArrayOutputStream();
 
              // Read response into a buffered stream
              int readBytes = 0;
              byte[] sBuffer = new byte[512];
              while ((readBytes = inputStream.read(sBuffer)) != -1) {
                  content.write(sBuffer, 0, readBytes);
              }
 
              // Return result from buffered stream
              return new String(content.toByteArray());
          } catch (IOException e) {
              e.printStackTrace();
          }
        
        return null;
    }
Вызывать String page = get("http://example.com"); в отдельном потоке.

Всё вроде бы ок, но при запуске приложения пишет: "Unfortunately, app_name has stopped.".

Быть может не тот проект создал?
Целевой SDK: API 18
Компилировать с API 19 Android 4.4.2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 17:30     Из WebView в TextView
Еще ссылки по теме:

Android Текст из TextView перенести в другой TextView по нажатию Button
TextView txt = new TextView(this); - ошибка Android
Android TextView and Fragment
Android Как сделать что-бы при сдвиге WebView вверх,он залезал под TextView
TextView бд Android

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

Или воспользуйтесь поиском по форуму:
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
04.02.2014, 17:30     Из WebView в TextView #8
В логах должен быть стектрейс ошибки, скопируйте полностью сюда.
Yandex
Объявления
04.02.2014, 17:30     Из WebView в TextView
Ответ Создать тему
Опции темы

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