私の研究では、各リストビュー項目にカスタムリンク(カスタムタグを使用)を追加する必要があります。 私は2つの問題を抱え、Googleとstackoverflowで検索しましたが、結果はありません。ListViewのtextViewにHTMLを追加する際の2つの問題
ここにコードセグメントがあり、TagHandlerでタグを処理しています。
TextView tv = (TextView)paramView.findViewById(R.id.tv_dynamics_desc);
tv.setClickable(true);
tv.setText(Html.fromHtml("<uc id=\"133\">This is a Uc link</uc>", null, this));
tv.setMovementMethod(LinkMovementMethod.getInstance());
第1の問題は、属性IDを取得する方法です。
@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
if(tag.toLowerCase().startsWith("uc")) {
if (opening) {
//String id = xmlReader.getProperty("id").toString(); <=== to get the attribute, but failed with exception of no such property.
startClick(tag, output, xmlReader);
} else {
endClick(tag, output, xmlReader);
}
}
}
xmlReader.getProperty( "ID").toString();ここでは機能しません。 タグを "uc + id"(uc133など)に変更すると、少し醜いですが、これで問題は解決します。
属性を直接取得する方法はありますか。
リストビューアイテムは、アイテムのリンクやその他の領域に触れても、タッチイベントを受け取ることができません。
Artem Russakovskiiも、この問題をコメントhereで満たしていると言いました。
私は中国出身ですので、貧しい私の英語には申し訳ありません。
どうもありがとうございました:)