我尝试使用getString()从我的string.xml中获取一个字符串

然而.我刚刚发现getText()方法可以从我的资源中获取HTML标记!

说:

Hello Guys

它让我感到惊讶,因为我不得不使用Html.fromHtml()来获取HTML标签 – 这是不推荐使用的.

这两种方法有什么区别?

有优势还是劣势?

解决方法:

来自doc,

对于Resources.getString():

Return the string value associated with a particular resource ID. It

will be stripped of any styled text information.

对于Resources.getText():

Return the string value associated with a particular resource ID. The

returned object will be a String if this is a plain string; it will be

some other type of CharSequence if it is styled.

[注意,Context.getText()和Context.getString()在内部调用Resources中的方法.

doc说getText()保留了样式,而getString()没有.但是您可以使用其中任何一个从strings.xml获取带有HTML标记的字符串资源,但方式不同.

使用Resources.getText():

strings.xml中:

Hello, World!

你可以调用getText()(注意它返回一个CharSequence而不是String,因此它具有样式属性)并将文本设置为TextView.不需要Html.fromHtml().

mTextView.setText(getText(R.string.styled_text));

但是doc仅表示有限的HTML标签,例如< b&gt ;,< i>,< u>.这种方法支持. source code似乎表明它支持的不仅仅是:< b&gt ;,< i>,< u>,< big>,< small>,< sup>,< sub>,< strike> ,< li>,< marquee>,< a>,< font>和

使用Resources.getString():

strings.xml中:

World!]>

您必须在CDATA块中包围您的字符串,并且调用getString将返回带有HTML标记的字符串.在这里你必须使用Html.fromHtml().

mTextView.setText(Html.fromHtml( getString(R.string.styled_text)));

不推荐使用Html.fromHtml()以支持带有flags参数的新方法.所以像这样使用它:

HtmlCompat.fromHtml(getString(R.string.styled_text))

util方法HtmlCompat.fromHtml的实现:

public class HtmlCompat {

public static CharSequence fromHtml(String source) {

if(Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {

//noinspection deprecation

return Html.fromHtml(source);

} else {

return Html.fromHtml(source, Html.FROM_HTML_MODE_COMPACT);

}

}

}

标签:html,android

来源: https://codeday.me/bug/20191007/1868555.html

android gettext方法,android – getString()和getText()有什么区别?相关推荐

  1. android gettext方法,android – EditText不返回getText()上的内容

    下面的代码片段显示了一个带有简单登录表单的Dialog.问题是当用户点击登录按钮时,输入到EditTexts的文本不会在getText() – 调用上返回.但是,如果我在xml-layout的Edit ...

  2. android settext方法,Android中EditText setText方法的踩坑实战

    1.平平常常中就这样开始 某一天,我准备做一个搜索功能,这个搜索功能呢大概是在主活动A中,用EditText接收输入,当EditText监听到输入框中内容有变化,跳转到活动B中,活动B中准备有搜索历史 ...

  3. android随机数方法,Android生成随机数的方法实例

    本文实例为大家分享了Android生成随机数的具体代码,供大家参考,具体内容如下 java文件 package com.example.my_xm_bw_luowei; import android. ...

  4. android groovy方法,Android Gradle从入门到精通(三)Groovy快速入门指南

    前言 在前面我们学习了为什么现在要用Gradle?和Gradle入门前奏两篇文章,对Gradle也有了大概的了解,这篇文章我们接着来学习Groovy的基础,要想学好Gradle,Groovy是必须要掌 ...

  5. android drawtext 方法,Android 文字绘制(DrawText)技术总结

    这里的绘制文字不是直接调用TextView.setText(String content)去展示文字内容.而是在View上面通过 canvas.drawText(text, x, y,textPain ...

  6. 改变android背景方法,android 改变背景图片的两种方法

    1.利用drawable XML 在res/drawable下创建文件,如:myselect.xml android:drawable="@drawable/buttom_focused&q ...

  7. android application 方法,Android Studio新建Android application配置的详细方法

    Android Studio如何新建Android application配置呢?下面是小编介绍的Android Studio新建Android application配置的详细方法,有需要的小伙伴一 ...

  8. android bindservice方法,Android bindservice方法返回false

    我想从另一个类(BaseExpandableListAdapter)的活动中调用一个方法.活动中的方法启动服务并调用bindService(,,)方法.但是,bindService方法总是返回fals ...

  9. android linearlayout 方法,android布局----LinearLayout布局方式

    线性布局,控件成直线方式排列,要么水平排列,要么垂直排列. 对着layout文件夹右键,然后选择新建android xml file,选择资源类型选择 layout --> 根节点选择 Line ...

最新文章

  1. undefined 和null的区别?
  2. HD_2037今年暑假不AC
  3. 任务调度之Quartz2
  4. hough变换检测圆周_hough变换原理以及实现(转载)
  5. js方式调用php_js如何调用php函数
  6. html 中一个格子拆分成两个_一个效果惊人的数字游戏
  7. Qt工作笔记-Windows上界面滑动效果
  8. 混合类型数据格式化输入
  9. 无人驾驶(pid算法)
  10. Samba 3.4.0 发布
  11. 记第一次组装台式电脑的小经历
  12. 前端调试,模拟数据利器之Mock Server使用教程来啦~
  13. 腾讯翻译君在线翻译怎么翻译整个文件_7款好用的英文翻译软件推荐
  14. Keras中的verbose参数
  15. Ubuntu16.04搭建mtk6737 安卓7.0 MTK 编译环境搭建
  16. MySQL轻快入门2021.3.19(常用函数)
  17. python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...
  18. Linux(CentOS7)安装MySQL-5.7版本
  19. 美杜莎网站是哪个服务器,美杜莎云服务器
  20. Android实用技巧之adb命令:am 命令的使用

热门文章

  1. 以管理为轴心 为IT服务保驾护航——北京赛特百货有限公司
  2. 什么是高端的IPv6?和IPv4有什么差别呢?
  3. 面对电磁辐射干扰,如何轻松进行电子线路设计布局?
  4. Mysql,SQL server中英文翻译对照
  5. [转]把自己从一个疯狂下载者变成一个学习者
  6. 为什么人到了中年会喜欢上养花?养花能给人带来什么?
  7. 百问网七天物联网课程学习笔记——单片机时钟
  8. 哒哒哒哒哒哒,哒哒哒哒哒哒哒哒
  9. 关于PL/SQL我写了一份从0到1的入门教程
  10. [CTF] 每日一题汇总