【问题标题】:Hyperlink only shows on the bottom of textview, not in the middle超链接只显示在textview的底部,不在中间
【发布时间】:2017-02-14 22:41:13
【问题描述】:

我正在制作一个适用于 Android 的应用程序,在 Eclipse 中使用 Java。我在每个按钮中都使用了一些信息文本。除了文本,我还使用了指向网站的超链接。但是,当我尝试将我的超链接放在第二句话之后时,它会自动将它放在最后一句话之后。在strings.xml 中,我可以将链接放在开头、中间或中间的某个位置,但实际出来时,链接会放在最后。

我有一张图片来显示链接的位置(在 textview 的末尾)和我的 strings.xml 代码来告诉你链接是在 textview 的中间编码的。

有人对此有解决方案吗?

这是显示文本视图的图像,以及它末尾的超链接。

这是图片上该页面的strings.xml 代码:

<string name="title_activity_nieuws"><b>Nieuws</b>&lt;br /&gt;&lt;br /&gt;Volg de ontwikkelingen in en om het Rode Kruis Ziekenhuis op onze website, hier is een internetverbinding voor nodig. <a href='https://www.rkz.nl/nieuws_agenda_nieuws'> &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;<b>Agenda</b>&lt;br /&gt;&lt;br /&gt; Voorlichtingsbijeenkomsten, symposia, open dagen en andere evenementen die het Rode Kruis Ziekenhuis organiseert vindt u in de Agenda op onze website (een internetverbinding is nodig).</a>
</string>

主要代码:

package com.example.rodekruis;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.Html;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.TextView;

public class NieuwsActivity extends Activity implements View.OnClickListener{


     TextView HyperLink;
     Spanned Text;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_nieuws);

        findViewById(R.id.button11).setOnClickListener(this);
        findViewById(R.id.button12).setOnClickListener(this);
        findViewById(R.id.button13).setOnClickListener(this);
        findViewById(R.id.button14).setOnClickListener(this);
        findViewById(R.id.imageButton1).setOnClickListener(this);

        TextView textView =(TextView)findViewById(R.id.textView);
        textView.setClickable(true);
        textView.setMovementMethod(LinkMovementMethod.getInstance());
        String text = getResources().getString(R.string.title_activity_nieuws);
        text += "<a href='https://www.rkz.nl/nieuws_agenda_nieuws'> Naar het nieuwsoverzicht </a>";
        textView.setText(Html.fromHtml(text));


    }

    @Override
    public void onClick(View v) {
        Intent intent = null;
        switch (v.getId()) {


            case R.id.button11:
                Uri uri = Uri.parse("https://www.facebook.com/RKZ.BrandwondencentrumBeverwijk");
                intent = new Intent(Intent.ACTION_VIEW, uri);
                break;
            case R.id.button12:
                Uri uri1 = Uri.parse("https://www.youtube.com/user/rodekruisziekenhuis/featured");
                intent = new Intent(Intent.ACTION_VIEW, uri1);
                break;
            case R.id.button13:
                Uri uri2 = Uri.parse("https://twitter.com/rodekruiszh?lang=nl");
                intent = new Intent(Intent.ACTION_VIEW, uri2);
                break;
            case R.id.button14:
                Uri uri3 = Uri.parse("https://www.linkedin.com/company/rode-kruis-ziekenhuis");
                intent = new Intent(Intent.ACTION_VIEW, uri3);
                break;
            case R.id.imageButton1:
                intent = new Intent(NieuwsActivity.this, InfoActivity.class);
                break;
        }
        startActivity(intent);
    }

}

【问题讨论】:

  • 请将您的代码发布到您在 textview 中设置此文本的位置
  • 添加了代码:)

标签: android eclipse hyperlink


【解决方案1】:

据我了解,您想在“议程”上方显示文本链接

首先,您应该将字符串更改为:

<string
name="title_activity_nieuws"><![CDATA[Nieuws<br/>Volg de ontwikkelingen in en om het Rode Kruis Ziekenhuis op onze website, hier is een internetverbinding voor nodig. <br/><br/><a href=\'https://www.rkz.nl/nieuws_agenda_nieuws\'>Naar het nieuwsoverzicht</a> <br/><br/>Agenda<br/><br/> Voorlichtingsbijeenkomsten, symposia, open dagen en andere evenementen die het Rode Kruis Ziekenhuis organiseert vindt u in de Agenda op onze website (een internetverbinding is nodig).]]></string>

其次,注释行:

text += "<a href='https://www.rkz.nl/nieuws_agenda_nieuws'> Naar het nieuwsoverzicht </a>";

希望对你有帮助

【讨论】:

  • 谢谢先生,成功了!
【解决方案2】:

请删除下面一行

 text += "<a href='https://www.rkz.nl/nieuws_agenda_nieuws'> Naar het nieuwsoverzicht </a>";

更改您的 title_activity_nieuws 字符串

&lt;/a&gt; 的位置不正确

<string name="title_activity_nieuws"><b>Nieuws</b>&lt;br /&gt;&lt;br /&gt;Volg de ontwikkelingen in en om het Rode Kruis Ziekenhuis op onze website, hier is een internetverbinding voor nodig. <a href='https://www.rkz.nl/nieuws_agenda_nieuws'> &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</a><b>Agenda</b>&lt;br /&gt;&lt;br /&gt; Voorlichtingsbijeenkomsten, symposia, open dagen en andere evenementen die het Rode Kruis Ziekenhuis organiseert vindt u in de Agenda op onze website (een internetverbinding is nodig).

【讨论】:

  • 现在链接消失了。现在在我的文本视图中不显示任何内容
  • 这就是我的代码中的内容,我需要更改什么?
  • 您的结束超链接标签“”放错了位置。请更正
  • 使用 - Volg de ontwikkelingen in en om het Rode Kruis Ziekenhuis op onze website, hier iseen internetverbinding voor nodig。

    rkz.nl/nieuws_agenda_nieuws\'>Naar het nieuwsoverzicht

    议程

    Voorlichtingsbijeenkomsten, 座谈会, open dagen en andere evenementen die het Rode Kruis Ziekenhuis organiseert vindt u in de Agenda op onze website (een internetverbinding is nodig)。]]>
猜你喜欢
  • 2011-08-10
  • 2018-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 2011-09-30
  • 1970-01-01
  • 2018-10-30
相关资源
最近更新 更多