2016-06-29 5 views
0

Некоторые элементы в списке, если щелкнуть, будут гиперссылкой на URL-адрес. Если URL-адрес связанного элемента отсутствует, щелчок по нему ничего не должен делать.Я хочу отобразить список гиперссылок в Android.

Должен ли я использовать ListView, или есть что-то лучше?

+0

Вы можете просто использовать TextView сделать тот же ... если его действительный URL-адрес будет переходить к этому конкретному URL-адресу – silverFoxA

+0

Регулярный текстовый просмотр с 'android: autoLink =" all "' свойство будет захватывать все ссылки. – Vucko

ответ

1
  1. Вы можете сделать Listview макет с одной TextView
  2. Использование Arraylist держать в основном 2 вещи я. Название вашей гиперссылки ii. Url было бы перенаправить на
  3. Установите Adapter к вашим ListView
  4. Установите ClickListener к вашим ListView
  5. Когда Особенное деталь щелкнуло вы можете ПОлОжЕНИЕ вашего элемента ListView, чтобы получить содержание в Список_массивах

например.

arraylist.get(postion).name 
    arraylist.get(postion).url 

Теперь вы можете просто начать WebView с использованием Intents

Intent browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com")); 
startActivity(browserIntent); 

Кроме того, если у вас есть слишком много элементов, которые будут отображаться, я бы рекомендовал использовать RecyclerView

+0

У меня есть ArrayList, содержащий экземпляры объектов из пользовательского класса. Думайте об этом как о «машинах». У меня много автомобильных объектов, а у объекта автомобиля есть свойство «имя» и «URL». Я добавил много автомобилей в массив CarsList. Я хочу заполнить ListView, используя каждое имя и название объекта автомобиля, и гиперссылку на свойство URL. Может ли это работать? – JackOfAll

+0

Да, он может работать, когда вы заполняете свой списокView с помощью «автомобилей» Arraylist, вы можете получить доступ к его имени и свойству URL. так что скажем, вы нажали на 8-й элемент ... это означает 8-й элемент массива, поэтому, если вы получите доступ к 8-му элементу в arraylist, используя arraylist.get(). вы получаете доступ к своему имени и свойству URL. –

+0

Можете ли вы дать мне несколько рекомендаций о том, как заполнить ListView, который находится в другом классе? У меня есть MainActivity, который загружает мой ArrayList автомобилей. Но результаты находятся на втором макете под названием ResultsActivity. Я знаю, как отображать ResultsActivity, используя startActivity (Intent), но как я могу манипулировать ListView в ResultsActivity из MainActivity? – JackOfAll

0

Я предлагаю вам использовать RecyclerView, поэтому в каждом представлении результата элемента содержащего TextView с атрибутом android:autoLink="web", посмотри в android:linksClickable атрибутах, а также.

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