2016-01-25 2 views
1

Итак, мне любопытно, как это сделать ... Я выхожу из API и один из элементов находится в HTML. Итак, я подумал, что было бы здорово сделать эти ссылки доступными. Однако некоторые из этих ссылок не являются полными, поскольку они привязаны непосредственно к сайту, откуда я получаю данные API.Проблема с HTML-ссылками в TextView

Вот пример того, что у меня есть:

textSummary.setMovementMethod(LinkMovementMethod.getInstance()); 
textSummary.setText(Html.fromHtml(object.getDescription())); 

Теперь, если я нажимаю на ссылку, которая начинается с «HTTP: //» все отлично работает. Это дает мне возможность, какой браузер, чтобы открыть его в Однако, если HREF выглядит следующим образом:.

/inxile-entertainment-inc/3010-3966 

я, очевидно, получить ошибку, потому что намерение не правильно отформатированный URL. Все, что я должен был бы добавить к этому:

http://www.giantbomb.com 

, чтобы получить частичный href для работы.

Есть ли способ сделать это с конечным результатом, являющимся устройством, запускающим браузер по умолчанию (или браузер за пределами моего приложения в целом)?

Спасибо!

Редактировать: вот еще информация.

Это текстовый текст. По сути, это происходит из фрагмента, который заполняет это на основе данных, полученных из API.

<TextView android:id="@+id/detail_summary" 
    android:textColor="@color/colorAccent" 
    android:layout_marginTop="10dp" 
    android:paddingStart="3dp" 
    android:paddingEnd="3dp" 
    android:paddingBottom="3dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

Ошибка:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=/inxile-entertainment-inc/3010-3966 (has extras) } 

Эта ссылка даст мне возможность выбрать, какой браузер, чтобы открыть его в:

http://www.youtube.com/watch?v=Gd43NYBzHuk 
+0

Можете ли вы привести пример XML-макета? Или, по крайней мере, часть, которая имеет отношение к этому вопросу. Также обязательно включите соответствующие строковые ресурсы. –

+0

Я добавил некоторую информацию. Если вам нужно больше, дайте мне знать. Спасибо! –

+0

Как вы устанавливаете текст, отображаемый в «TextView»? –

ответ

2

вы можете использовать

android:autoLink="web"

<TextView android:id="@+id/detail_summary" 
    android:textColor="@color/colorAccent" 
    android:layout_marginTop="10dp" 
    android:paddingStart="3dp" 
    android:paddingEnd="3dp" 
    android:paddingBottom="3dp" 
    android:autoLink="web" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

TextView не нужен onClickLinstner

+0

Это работает лучше, чем то, что я раньше искал! Первоначально я искал способ реализовать каждую ссылку, содержащуюся в моих резюме. Однако это просто удаляет все, что не является полным, и оставляет только те, которые не являются! Спасибо! Я бы поднял этот ответ, но мне не хватало 15 репутации. (Я новый разработчик) –

Смежные вопросы