カスタムしているListView内にあるTextView要素の表示文字列にURLリンクを設定しています。
レイアウト直下に配置されたTextViewであれば
xmlの設定(1)もしくはKotlin側の記述(2)でURLリンクにできることは確認しましたが、
ListView内のTextViewで同じように記載をするとURLリンクにはなりますが、
URLリンクをタップすると処理落ちします。
ご指南いただけますと幸いです。
よろしくお願いいたします。
activity_album.xml(1)
XML
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical"> 7 8 <TextView <!-- URL表示&タップ確認できた --> 9 android:id="@+id/tvTestUrl" 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content" 12 android:text="https://books.rakuten.co.jp/rb/15214926/" 13 android:autoLink="web" <!-- XMLで有効にする場合autoLinkとclickableを付与--> 14 android:clickable="true"/> 15 16 <ListView <!-- このListView内のTextViewをURLリンクにしたい --> 17 android:id="@+id/lvAlbumList" 18 android:layout_width="match_parent" 19 android:layout_height="wrap_content"/> 20 21</LinearLayout>
AlbumActivity.kt(2)
Kotlin
1// override fun onCreate内の処理抜粋 2 // ListViewのカスタマイズ一部抜粋 3// val lvAlbumList = findViewById<ListView>(R.id.lvAlbumList) 4// val adapter = SimpleAdapter(applicationContext, _albumList, R.layout.artist_row, _from, _to) 5// lvAlbumList.adapter = adapter 6 7 8 // Kotlin側で有効にする場合は以下の処理を記述してURL表示&タップを確認できた 9 val tvTestUrl = findViewById<TextView>(R.id.tvTestUrl) 10 tvTestUrl.setText("https://books.rakuten.co.jp/rb/15214926/") 11 Linkify.addLinks(tvTestUrl, Linkify.WEB_URLS); 12
**カスタムしているListView artist_row.xml **
xml
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical"> 7 8 <TextView 9 android:id="@+id/tvArtistName" 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content"/> 12 13 <TextView 14 android:id="@+id/tvTitle" 15 android:layout_width="wrap_content" 16 android:layout_height="wrap_content"/> 17 18 <TextView <!--このTextViewをURLリンクにしたい--> 19 android:id="@+id/tvItemUrl" 20 android:layout_width="wrap_content" 21 android:layout_height="wrap_content" 22 android:autoLink="web" 23 android:clickable="true"/> 24 25</LinearLayout>
あなたの回答
tips
プレビュー