超链接仅显示在textview的底部,而不是在中间

时间:2016-10-06 08:55:04

标签: android eclipse hyperlink

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

我有一个图像来显示链接的位置(在textview的末尾)和我的strings.xml代码,以显示链接是在textview的中间编码的。

有人有解决方案吗?

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

Click here to see the image

这是图片上该页面的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);
    }

}

2 个答案:

答案 0 :(得分:1)

据我了解,您希望在上面显示文字链接&#34;议程&#34;

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

<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>";

希望有所帮助

答案 1 :(得分:0)

请删除以下行

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

更改title_activity_nieuws字符串

</a>的展示位置不正确

<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).