【发布时间】: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><br /><br />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'> <br /><br /><br /><b>Agenda</b><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).</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 中设置此文本的位置
-
添加了代码:)