android gettext方法,android – getString()和getText()有什么区别?
我尝试使用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> ;,< i>,< u>.这种方法支持. source code似乎表明它支持的不仅仅是:< b> ;,< 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()有什么区别?相关推荐
- android gettext方法,android – EditText不返回getText()上的内容
下面的代码片段显示了一个带有简单登录表单的Dialog.问题是当用户点击登录按钮时,输入到EditTexts的文本不会在getText() – 调用上返回.但是,如果我在xml-layout的Edit ...
- android settext方法,Android中EditText setText方法的踩坑实战
1.平平常常中就这样开始 某一天,我准备做一个搜索功能,这个搜索功能呢大概是在主活动A中,用EditText接收输入,当EditText监听到输入框中内容有变化,跳转到活动B中,活动B中准备有搜索历史 ...
- android随机数方法,Android生成随机数的方法实例
本文实例为大家分享了Android生成随机数的具体代码,供大家参考,具体内容如下 java文件 package com.example.my_xm_bw_luowei; import android. ...
- android groovy方法,Android Gradle从入门到精通(三)Groovy快速入门指南
前言 在前面我们学习了为什么现在要用Gradle?和Gradle入门前奏两篇文章,对Gradle也有了大概的了解,这篇文章我们接着来学习Groovy的基础,要想学好Gradle,Groovy是必须要掌 ...
- android drawtext 方法,Android 文字绘制(DrawText)技术总结
这里的绘制文字不是直接调用TextView.setText(String content)去展示文字内容.而是在View上面通过 canvas.drawText(text, x, y,textPain ...
- 改变android背景方法,android 改变背景图片的两种方法
1.利用drawable XML 在res/drawable下创建文件,如:myselect.xml android:drawable="@drawable/buttom_focused&q ...
- android application 方法,Android Studio新建Android application配置的详细方法
Android Studio如何新建Android application配置呢?下面是小编介绍的Android Studio新建Android application配置的详细方法,有需要的小伙伴一 ...
- android bindservice方法,Android bindservice方法返回false
我想从另一个类(BaseExpandableListAdapter)的活动中调用一个方法.活动中的方法启动服务并调用bindService(,,)方法.但是,bindService方法总是返回fals ...
- android linearlayout 方法,android布局----LinearLayout布局方式
线性布局,控件成直线方式排列,要么水平排列,要么垂直排列. 对着layout文件夹右键,然后选择新建android xml file,选择资源类型选择 layout --> 根节点选择 Line ...
最新文章
- undefined 和null的区别?
- HD_2037今年暑假不AC
- 任务调度之Quartz2
- hough变换检测圆周_hough变换原理以及实现(转载)
- js方式调用php_js如何调用php函数
- html 中一个格子拆分成两个_一个效果惊人的数字游戏
- Qt工作笔记-Windows上界面滑动效果
- 混合类型数据格式化输入
- 无人驾驶(pid算法)
- Samba 3.4.0 发布
- 记第一次组装台式电脑的小经历
- 前端调试,模拟数据利器之Mock Server使用教程来啦~
- 腾讯翻译君在线翻译怎么翻译整个文件_7款好用的英文翻译软件推荐
- Keras中的verbose参数
- Ubuntu16.04搭建mtk6737 安卓7.0 MTK 编译环境搭建
- MySQL轻快入门2021.3.19(常用函数)
- python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...
- Linux(CentOS7)安装MySQL-5.7版本
- 美杜莎网站是哪个服务器,美杜莎云服务器
- Android实用技巧之adb命令:am 命令的使用