Android:单击TextView中的特定单词时显示d出对话框

Android:单击TextView中的特定单词时显示d出对话框,第1张

概述在我的申请中,我有一些条款和条件的文本. By registering you agree to be bound by our Terms of Use and that you have read our Privacy Policy. 使用条款和隐私政策应该是可点击的,并显示一个警告框. 首先,我尝试将句子分成四个TextView: >通过注册,您同意受我们的约束 >使用条款 >你已经读过我 在我的申请中,我有一些条款和条件的文本.

By registering you agree to be bound by our Terms of Use and that you have read our Privacy Policy.

使用条款和隐私政策应该是可点击的,并显示一个警告框.

首先,我尝试将句子分成四个TextVIEw:

>通过注册,您同意受我们的约束
>使用条款
>你已经读过我们了
>隐私政策.

这很好用,具有以下布局XML:

<linearLayout            xmlns:androID="http://schemas.androID.com/apk/res/androID"            androID:ID="@+ID/termsandcondtion"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:layout_marginleft="5dp"            androID:layout_marginRight="5dp"            androID:orIEntation="horizontal" >        <TextVIEw            androID:ID="@+ID/terms_1"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/terms_1"            androID:textcolor="#000000"            androID:textSize="12dp" />        <TextVIEw            androID:ID="@+ID/terms"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:clickable="true"            androID:onClick="showTerms"            androID:text="@string/terms_2"            androID:textcolor="#000000"            androID:textSize="12dp" />        <TextVIEw            androID:ID="@+ID/terms_3"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="@string/terms_3"            androID:textcolor="#000000"            androID:textSize="12dp" />        <TextVIEw            androID:ID="@+ID/termsofuse"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:clickable="true"            androID:onClick="showTermsofUse"            androID:text="@string/terms_4"            androID:textcolor="#000000"            androID:textSize="12dp" />    </linearLayout>

显示d出窗口的代码是:

WebVIEw wv = new WebVIEw(this);    wv.loadUrl(url);    wv.setWebVIEwClIEnt(new WebVIEwClIEnt()    {        @OverrIDe        public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw,String url)        {            vIEw.loadUrl(url);            return true;        }    });    AlertDialog.Builder alert = new AlertDialog.Builder(this);    alert.setTitle("Privacy Policy");    alert.setVIEw(wv);    alert.setNegativebutton("Close",new DialogInterface.OnClickListener()    {        public voID onClick(DialogInterface dialog,int ID)        {        }    });    alert.show();

问题是四个TextVIEw没有正确对齐.
这意味着当单击TextVIEw中的特定单词(使用条款,隐私策略)时,我必须使用一个TextVIEw并显示d出式diaplog.

做这个的最好方式是什么?

解决方法 我想你需要Spannable Strings.此外,this问题会有所帮助.创建 ClickableSpan将是您的问题的一个很好的选择.
SpannableString stringToSpan = new SpannableString("<your sentence>");TextVIEw textVIEw = (TextVIEw) findVIEwByID(R.ID.<yourTextVIEw ID>);textVIEw.setText(stringToSpan);textVIEw.setMovementMethod(linkMovementMethod.getInstance());ClickableSpan clickableSpan = new ClickableSpan() {      @OverrIDe      public voID onClick(VIEw textVIEw) {       //alert Box code here       }      };stringToSpan.setSpan(clickableSpan,<start position of span>,<end position>,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);   }
总结

以上是内存溢出为你收集整理的Android:单击TextView中的特定单词时显示d出对话框全部内容,希望文章能够帮你解决Android:单击TextView中的特定单词时显示d出对话框所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1130645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存