两个小实例:
1、服务端返回的带有html标签的文字,在textview中展示的时候,能正确的换行。
2、需要展示的下载的超链接,以文字代替,隐藏下载地址:
实现效果如下:
代码如下:
package com.android.study;
import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.widget.TextView;
public class FourthActivity extends Activity {
private TextView textView;
private TextView textUrl;
private TextView textUrl2;
// html格式换行
private static String msgHtml = "1、在任务结束时间之前完成任务并上传数据。<br />2、任务内容:连续2天达到10000步。<br />3、您可以在下方的进度显示查看您的任务进度情况。";
// 超链接
private static String html = "我的客户端,下载地址:<a href='http://www.baidu.com'>点击下载</a>";
private static String html2 = "我的客户端,下载地址:";
private static String html22 = "<a href=\""
+ "http://www.baidu.com" + "\">"
+ "点击下载" + "</a> ";
CharSequence charSequence = Html.fromHtml(html);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_texttest);
init();
}
private void init() {
// textView.setAutoLinkMask(Linkify.ALL);
textView = (TextView) findViewById(R.id.textView);
textUrl = (TextView) findViewById(R.id.textUrl);
textUrl2 = (TextView) findViewById(R.id.textUrl2);
/**
* html格式换行
*/
textView.setText(Html.fromHtml(msgHtml));
/**
* 超链接: 法一
*/
textUrl.setText(charSequence);
textUrl.setMovementMethod(LinkMovementMethod.getInstance());
/**
* 超链接: 法二
*/
textUrl2.setText(html2);
textUrl2.append(Html.fromHtml(html22));
textUrl2.setMovementMethod(LinkMovementMethod.getInstance());
}
}
超链接形式两者在该Demo中都可以实现效果。
但法一在我的项目代码中使用不成功,换了法二后可以了。
有知道该情况的可以留言噢。