我有一个android:autolink =“ all”的TextVIEw:
<TextVIEw androID:ID="@+ID/text" androID:text="abcdefgh@def.com" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:autolink="all" />
由于某些原因,我想打开一个在androID:text中设置的链接(它可能是电话号码,电子邮件等).当我运行应用程序时,performClick()不会打开链接.
TextVIEw textVIEw = findVIEwByID(R.ID.text);textVIEw.setMovementMethod(linkMovementMethod.getInstance());textVIEw.performClick();
linkify.addlinks(buffer,linkify.ALL);其他一些则无济于事.
更新
感谢您的答复.收到3个答案后,显示我的代码.我使用API 19、25个仿真器和设备(API 21).可悲的是,没有任何效果.
<?xml version="1.0" enCoding="utf-8"?><androID.support.constraint.ConstraintLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" tools:context=".MainActivity"> <TextVIEw androID:ID="@+ID/text" androID:text="abcdefgh@def.com" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:clickable="true" androID:focusable="true" androID:autolink="web|email|phone" /></androID.support.constraint.ConstraintLayout>
主要活动:
public class MainActivity extends AppCompatActivity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); TextVIEw text = findVIEwByID(R.ID.text); int mask = linkify.ALL; linkify.addlinks(text, mask); text.setMovementMethod(linkMovementMethod.getInstance()); text.performClick(); }}
解决方法:
我们需要重写performClick():
@OverrIDe public boolean performClick() { // Calls the super implementation, which generates an AccessibilityEvent // and calls the onClick() Listener on the vIEw, if any super.performClick(); // Handle the action for the custom click here return true; }
总结 以上是内存溢出为你收集整理的android-TextView performClick()不单击链接全部内容,希望文章能够帮你解决android-TextView performClick()不单击链接所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)