0

android:autoLink="web"URL をクリック可能なリンクに変換するために TextViews で使用しています。これはうまくいきます。リンクはユーザーが生成したものなので、このリンクを本当に開くかどうか、事前にダイアログでユーザーに尋ねたいと思います。

何も見つかりませんでした。通常のACTION_VIEWインテントに転送する前に、そのクリックを傍受してダイアログを表示する方法はありますか?

4

1 に答える 1

0

次のような TextView プロパティに追加してみてください。

<TextView
    android:text="http://www.google.com"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:onClick="onUrlClick"
    android:linksClickable="false"
    android:clickable="true"
    />

次に、次のように onClick メソッドをオーバーライドします。

    public void onUrlClick(final View view) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            TextView myTextView = (TextView)view;
            String myUrl = String.valueOf(myTextView.getText());
            Intent browse = new Intent( Intent.ACTION_VIEW , Uri.parse(myUrl) );
            startActivity( browse );
        }
    });
    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
        }
    });
    AlertDialog dialog = builder.create();
    dialog.show();
}

それは私のために働いた。これは単なる例であり、作成を onClick メソッドから分離することをお勧めします。

于 2014-10-21T16:57:31.180 に答える