1

を使用するアプリケーションを作成しListActivityました。リストの各項目は と で構成されImageViewますTextView。リスト エントリを長押しすると、onCreateContextMenuオーバーライドされているため、一部のメニューと色の効果がトリガーされます。TextViewインタラクティブにしたいHTMLリンクが含まれていることがあります。#1697908を読んでリンクを有効にしたので、ブラウザ/YouTube プレーヤーが起動しました。すべてが素晴らしいのですが、長いクリックの色効果が消えました (コンテキスト メニューは引き続き表示されます)。

これらの 2 つの機能を接続して色の効果を取り戻す方法を誰か教えてもらえますか?

4

3 に答える 3

1

Linkifyは、カスタムリストアダプタで使用できます。Linkifyを使用すると、次のようなセレクターを使用して色を設定できます。

                Linkify.addLinks(
                        holder.messageText,
                        messageDetailsMatcher,
                        "content://com.myApp/message/view?messageId=",
                        null, new myLinkTransformFilter(msgId));


                ColorStateList colors = null;
                try {
                    XmlResourceParser xpp = getResources().getXml(
                            R.color.link_color_selector);
                    colors = ColorStateList.createFromXml(getResources(),
                            xpp);
                } catch (Exception e) {
                    Log.e("someError", e);
                }
                holder.messageText.setLinkTextColor(colors);

(注:holder.messageTextは、ホルダーオブジェクト内の単純なTextViewです)

次に、次のような/res/color/color_selector.xmlがあります。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:color="@drawable/message_focused" /> <item android:state_pressed="true" android:state_enabled="false" android:color="@drawable/message_pressed" /> <item android:state_enabled="false" android:color="@drawable/message_enabled" /> <item android:state_active="true" android:color="@drawable/message_active" /> <item android:color="@drawable/message_default" /> </selector>

于 2010-06-23T22:50:01.400 に答える
0

私はなんとかこの問題を解決することができました。たぶん、私が望んでいたような方法で直接ではないかもしれませんが、それで十分です。リスナーを追加する代わりにTextView、行全体に追加します。ハイライトは期待どおりに機能しています。この動作は私のアプリでは許容できますが、ある種の回避策であるため、それをより適切に実行できるかどうかを知りたいと思います。

于 2010-06-28T15:26:38.853 に答える
0

最初は ImageView と Textview を使用しましたが、WebView を使用するとそのような問題を回避でき、html の対話性を維持できます。

これを読む

Androidレイアウトで画像を囲むテキストを含むフローティング画像(右揃え)を作成するにはどうすればよいですか?

于 2010-06-23T22:56:20.467 に答える