相关疑难解决方法(0)

642
推荐指数
21
解决办法
47万
查看次数

带有可点击链接的Android TextView:如何捕获点击次数?

我有一个TextView,它呈现基本HTML,包含2个以上的链接.我需要捕获链接上的点击并打开链接 - 在我自己的内部WebView中(不在默认浏览器中).

处理链接呈现的最常用方法似乎是这样的:

String str_links = "<a href='http://google.com'>Google</a><br /><a href='http://facebook.com'>Facebook</a>";
text_view.setLinksClickable(true);
text_view.setMovementMethod(LinkMovementMethod.getInstance());
text_view.setText( Html.fromHtml( str_links ) );
Run Code Online (Sandbox Code Playgroud)

但是,这会导致链接在默认的内部Web浏览器中打开(显示"使用完整操作..."对话框).

我尝试实现一个onClickListener,当单击链接时正确触发,但我不知道如何确定单击了哪个链接...

text_view.setOnClickListener(new OnClickListener(){

    public void onClick(View v) {
        // what now...?
    }

});
Run Code Online (Sandbox Code Playgroud)

或者,我尝试创建自定义LinkMovementMethod类并实现onTouchEvent ...

public boolean onTouchEvent(TextView widget, Spannable text, MotionEvent event) {
    String url = text.toString();
    // this doesn't work because the text is not necessarily a URL, or even a single link... 
    // eg, I don't know how to extract the clicked link from the greater paragraph of …
Run Code Online (Sandbox Code Playgroud)

android hyperlink textview

108
推荐指数
8
解决办法
8万
查看次数

android:html在textview中链接可点击

我在我的网站上使用了a-htmltag TextView,但是当我点击它时没有任何反应.

如何使用url打开Web浏览器?

html android textview

70
推荐指数
2
解决办法
5万
查看次数

ListView:带LinkMovementMethod的TextView使列表项无法点击?

我想做什么:包含这样的消息的列表:

<UserName>,这是用户编写的mnessage,它将很好地包装到下一行.完全是这样的.

是)我有的:

ListView R.layout.list_item:

<TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/text_message"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="(Message Text)" />
Run Code Online (Sandbox Code Playgroud)

膨胀以上布局的适配器并执行:

SpannableStringBuilder f = new SpannableStringBuilder(check.getContent());
f.append(username);
f.setSpan(new InternalURLSpan(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(context, "Clicked User", Toast.LENGTH_SHORT).show();
    }
}), f.length() - username.length(), f.length(),
        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

f.append(" " + message);

messageTextView.setText(f);
messageTextView.setMovementMethod(LinkMovementMethod.getInstance());
meesageTextView.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)

InternalURLSpan类

public class InternalURLSpan extends ClickableSpan {
    OnClickListener mListener;

    public InternalURLSpan(OnClickListener listener) {
        mListener = listener;
    }

    @Override
    public void onClick(View widget) {
        mListener.onClick(widget);
    }

    @Override
    public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds); …
Run Code Online (Sandbox Code Playgroud)

android

36
推荐指数
3
解决办法
2万
查看次数

在android中的TextView中可单击的单词

我有TextView文本,动态更改.这个文本包含像<a href='myWord'>myWord</a>.我希望在点击这个"链接"之后,myWord出现在同一活动的EditText中.

这是我的代码:

txt.setText(Html.fromHtml("...<a href='link'>link</a>..."));
txt.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)

它适用于href属性中的URL,但是另一种格式存在错误.

我在StackOverflow上发现了很多类似的问题,但所有问题都与url链接有关.在我的应用程序中,我想在活动中创建"链接".一般来说,如果依赖,我可以将标签更改为其他标签...

请帮我!谢谢!

-----已解决-----谢谢雅各布菲利普斯的想法!

将来可能会有人感兴趣.这是一个代码:

//This is my string;
String str = "<b>Text</b> which contains one <a href='#'>link</a> and another <a href='#'>link</a>";
//TextView;
TextView txt = new TextView(this);
//Split string to parts:                                        
String[] devFull = data[v.getId()][1].split("<a href='#'>");
//Adding first part:
txt.append(Html.fromHtml(devFull[0]));
//Creating array for parts with links (they amount always will devFull.length-1):
SpannableString[] link = new SpannableString[devFull.length-1];
//local vars:
ClickableSpan[] cs = new ClickableSpan[devFull.length-1];
String linkWord;
String[] devDevFull = new String[2];

for(int …
Run Code Online (Sandbox Code Playgroud)

android textview

32
推荐指数
3
解决办法
2万
查看次数

在另一个活动中打开TextView链接,而不是默认浏览器

将textView autoLinkMask设置为Linkify.ALL,我可以打开链接,浏览器显示网页.

我需要调用另一个活动来完成它的webView不会离开应用程序.

重要笔记:

  • 更改textView内容不是一个选项,我需要将链接显示为他们所拥有的方案,
  • textView中有很多文本,而不仅仅是链接.

我看遍了movementMethodIntentFilters,可能会错过的东西,但看起来它也没有办法.

那么,任何拦截触摸链接的选项TextView都可以用它来打开浏览器吗?

如果你想提一下这个问题,请提出一些论据,为什么它似乎没有像我一样解决同样的问题.

android textview linkify

18
推荐指数
1
解决办法
7050
查看次数

Android:通过TextView中的链接启动活动

我有一个TextView,我用HTML填充然后链接它.HTML中的某些链接采用特殊格式,并且是指向项目中其他活动的链接,而不是普通的URL链接.是否可以在TextView中拦截此类链接上的点击并在链接采用特殊格式时执行自定义操作?

谢谢.

android android-widget linkify

12
推荐指数
1
解决办法
2万
查看次数

在WebView中打开URL而不是默认浏览器

我正在Webview使用一些链接创建简单的应用程序textview并打开这些链接webview而不是默认浏览器.我textview包含各种不同的URL,我试图在我的应用程序的webview中打开每个链接.

这里代码:

tv.setText("www.google.com  www.facebook.com  www.yahoo.com");
tv.setMovementMethod(LinkMovementMethod.getInstance());;
tv.setText(Html.fromHtml(tv.getText().toString()));
Linkify.addLinks(tv, Linkify.WEB_URLS);


WebViewClient yourWebClient = new WebViewClient()
       {
           // Override page so it's load on my view only
           @Override
           public boolean shouldOverrideUrlLoading(WebView  view, String  url)
           {
            // This line we let me load only pages inside Firstdroid Webpage
            if ( url.contains("www") == true )
               // Load new URL Don't override URL Link
               return false;

            // Return true to override url loading (In this case do …
Run Code Online (Sandbox Code Playgroud)

url android textview webview intentfilter

12
推荐指数
2
解决办法
7815
查看次数

没有下划线的Android TextView链接?

我使用带有链接的TextView:

TextView tv ... 
tv.setText( Html.fromHtml(somehtml)) 
Run Code Online (Sandbox Code Playgroud)

可以通过设置属性android:textColorLink来控制链接颜色,但是我可以删除它的下划线吗?

android

9
推荐指数
1
解决办法
5516
查看次数

如何使Android中的按钮像文本的一部分可点击?

我想将按钮myButton添加到TextView.如何将它放在一行中,使其看起来像一组线.以下是要添加的文本示例

请在此处按此按钮刷新值集.

我希望将"here"作为可点击按钮.我该怎么做.它上面的任何片段都会有所帮助.

android click button textview

8
推荐指数
3
解决办法
2万
查看次数