首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin“不要连接使用setText显示的文本。请将资源字符串与占位符一起使用。”

Kotlin是一种现代化的静态类型编程语言,它运行在Java虚拟机上并可以与Java代码无缝集成。Kotlin具有简洁、安全、可靠的特点,被广泛应用于Android应用开发、后端开发以及其他领域。

在Android开发中,使用setText方法直接显示文本是一种不推荐的做法。相反,建议使用资源字符串与占位符一起使用,这样可以提高代码的可维护性和可扩展性。

资源字符串是指将文本内容存储在应用的资源文件中,而不是直接写在代码中。这样做的好处是可以方便地进行国际化和本地化,同时也方便进行文本的修改和管理。

占位符是一种特殊的标记,用于在字符串中表示可变的部分。通过使用占位符,我们可以将动态的数据插入到字符串中,而不需要拼接字符串或者使用复杂的格式化操作。

使用资源字符串与占位符的优势包括:

  1. 提高代码的可维护性和可读性:将文本内容与代码分离,使得代码更加清晰,易于理解和修改。
  2. 方便进行国际化和本地化:通过使用不同的资源文件,可以轻松地将应用适配到不同的语言和地区。
  3. 方便进行文本的修改和管理:将文本内容集中管理,可以方便地进行修改和更新,而不需要修改代码。

在腾讯云的相关产品中,可以使用腾讯云移动推送(https://cloud.tencent.com/product/tpns)来实现消息推送功能,以便向用户发送通知和提醒。腾讯云移动推送提供了丰富的功能和灵活的配置选项,可以满足不同应用的需求。

总结:在Kotlin开发中,不推荐直接使用setText方法显示文本,而是建议使用资源字符串与占位符一起使用。这样可以提高代码的可维护性和可扩展性,并且方便进行国际化和本地化。在腾讯云的相关产品中,可以使用腾讯云移动推送来实现消息推送功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android】解决TextView.setText提示Do not concatenate text displayed with setText. Use resource string

(#lint/SetTextI18n) (Ctrl+F1 Alt+T) 请勿使用setText方法连接显示文本.用占位使用字符串资源(提示我们尽量使用strings.xml字符串显示文本)。...Hardcoded text can not be properly translated to 不要通过字符串文字(例如:“你好”)来显示文本。硬编码文本不能被正确地翻译成其他语言。...不要通过连接建立消息文本块。这样信息不能被正确翻译。...通过以上信息,我们可以得知: 不建议使用Numer.toString()方式来进行字符串转换,建议使用规范格式(%d或%f)字符串来代替; 不建议直接使用字符串文字来直接显示文本,建议直接使用Android...字符串资源; 不建议通过连接方式显示消息文本块。

2K20

Do not concatenate text displayed with setText,use resource string with placeholders.

警告大意: 应该使用资源字符串显示文本占位 在xml布局中直接写汉字警告是一个意思 字符串拼接也好,直接写汉字也好, 都应该在strings.xml文件中声明,然后引用 for example...: layout.xml文件引用 strings.xml文件中声明 关于变量拼接参数 比如: mTextView.setText("距离过年还有"+mDay+"天"+mMinute+"时"+mSecond...+"秒"); 声明: 距离过年还有%1$d天%2$d时%3$d秒 在代码中使用: mTextView.setText(String.format...getString(R.string.delay_time),mDay,mMinute,mSecond)); 声明在前,参数在后 常用格式: %n$s--->n表示目前是第几个参数 (比如%1$s中1...代表第一个参数),s代表字符串 %n$d--->n表示目前是第几个参数 (比如%1$d中1代表第一个参数),d代表整数 %n$f--->n表示目前是第几个参数 (比如%1$f中1代表第一个参数

42830
  • qlineedit输入提示_qlineedit设置不可编辑

    LayoutDirectionAuto 有两个用途,当小部件和布局一起使用时,它将暗示使用在父小部件或QApplication上设置布局方向。...这与QWidget. unsetLayoutDirection()具有相同效果。当LayoutDirectionAuto文本布局结合使用时,它将暗示文本方向性取决于要展开字符串内容。...QLineEdit.setPlaceholderText(str):该属性包含行编辑占位文本。只要行编辑为空,设置此属性将使行编辑显示一个灰色占位文本。...通常情况下,即使具有焦点,空行编辑也会显示占位文本。但是,如果内容是水平居中,则行编辑具有焦点时,占位文本不会显示在光标下方。默认情况下,该属性包含一个空字符串。...setText(str) :设置输入框显示文本。 undo() :撤消上次操作(如果撤销可用) 其它 我们在视频演示中,如何判断输入字符是否符合相应要求呢?使用正则表达式,即使用re模块。

    4.6K20

    如何使用python计算给定SQLite表行数?

    首先将 SQLite 库导入 Python 脚本: import sqlite3 接下来,使用 connect() 函数建立 SQLite 数据库连接。...cursor.execute(query) result = cursor.fetchone() row_count = result[0] 如果要计算该特定表行数,请将占位“your_table_name...最后,不要忘记在使用完数据库后关闭光标和数据库连接: cursor.close() conn.close() 关闭游标和连接对于确保正确释放所有资源以及避免数据库潜在问题非常重要。...为了缓解此风险,建议将参数化查询占位一起使用: table_name = 'your_table_name' query = "SELECT COUNT(*) FROM ?" ...cursor.execute(query, (table_name,)) 通过使用占位(在本例中为 ?)并将表名称作为单独参数传递,可以确保正确清理表名并防止任何潜在 SQL 注入攻击。

    43520

    每年砸10亿补贴开发者;甲骨文宣布新Java SE订阅模式;Parcel 1.9.2发布

    此计划将根据开发者应用流量等级,配备相应程度推广资源,从全媒体资源、门店曝光、体验店推广、智能生活馆、新机发布会、全球推广等多渠道、多围度全面支持开发者创新。...Packt 发布了 2018 年技能提升报告结果,旨在了解软件开发人员工具使用情况和技能趋势。报告显示,Java 在编程语言中仍然占据主导地位,但 Kotlin 极有可能将其赶出移动开发榜首。...Boot 0.2.0 发布了,更新内容如下: 增强 ● 升级 Dubbo 2.6.2 ● 兼容 Spring Boot 2.0.x ● 完全支持 Dubbo @Service 和 @Reference 解析占位...结果在 6 月份再次发布更新时,直接来了一句“请将处理器升级为支持 SSE2 指令集型号”。‍ 10、黑客可以暴力破解 iPhone 密码?苹果:没有这样事‍ ?...一名安全研究人员认定,他找到办法可以绕过 iPhone 或者 iPad 密码锁限制,就算是苹果最新版本系统一样有效。而这种方法需要将 iPhone 通过 Lightning 数据线电脑连接

    57930

    qlineedit_qt layoutstretch

    可以使用setText()或insert()来改变文本,通过text()来获取文本显示文本(可能不同,详见:EchoMode)通过displayText()来获取。...当文本改变时,会发射textChanged()信号。当使用setText()改变文本时,textEdited()信号也会发射。...如果发生截断任何选中文本将取消选中,光标位置设置为0,并且显示字符串第一部分。 如果输入框有一个输入掩码,那么,掩码定义字符串最大长度。...placeholderText() const void setPlaceholderText(const QString &) placeholderText : QString 当输入框为空时,输入框显示一个灰色占位文本...默认值为一个空字符串。 通常,一个空输入框显示占位文本,即使它有焦点。然而,如果内容水平居中,当输入框有焦点时,占位文本显示在光标下。

    2.2K30

    PySide6 GUI 编程(9):QComboBox使用

    # 无论 QComboBox 是否可编辑,都可以使用此方法设置当前显示在编辑框中文本 # 使用 setEditText 可以快速设置 QComboBox 显示文本,...setPlaceholderText 方法可能不会按预期工作,因为 macOS 用户界面指南通常不支持在组合框中使用占位文本。...comboBox.setEditable(True) # 使下拉列表可编辑 # 添加一些选项 comboBox.addItems(["选项1", "选项2", "选项3"]) # 设置占位文本...# 在 macOS 系统上,QComboBox setPlaceholderText 方法可能不会按预期工作 # 因为 macOS 用户界面指南通常不支持在组合框中使用占位文本...# Qt 某些版本可能没有完全支持在 macOS 上为 QComboBox 显示占位文本 comboBox.setPlaceholderText("请选择或输入一个选项")

    24842

    Android App 国际化

    我们有时候不会直接使用setText,而是在基类里对setText进行封装,比如显示页面的顶部名字方法setTitleName,Lint不会对这种间接使用setText情况进行提示,可以借助Annotations...在方法参数中添加@ StringRes来限制传入参数必须是本地资源字符串资源id,同时需要将旧方法删除,不要让两者并存。...占位。...有些业务需求是要将动态信息和静态信息拼接起来,开发时候有时嫌麻烦,就直接通过+号连接字符串了,这是不好编程习惯,违反App国际化规范。...纯文本信息按钮在中文情况下是正常显示,但是setText纯英文之后内容自动变成了大写。以Theme.AppCompat.Light.DarkActionBar主题为例。

    4.7K41

    02 qt基本控件及信号和槽

    一 QString类 功能:显示一个字符串内容 主要接口函数 构造函数: QString(const char *str) QString(const QString &other) 赋值运算重载...,要使用对象来调用 4)arg函数 ----- 用来实现字符串连接 QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar...----> 要传入参数值 返回 值:QString 比如: //为了实现动态参数传入,那么使用%来实现提前占位,比如 %1 %2 .....//一个%占位对应一个arg //QString progress = QString("当前下载进度为:%1 ").arg(50); QString ss("当前下载进度为:%1")...QString &text ----消息盒子文本 参数四:QMessageBox::StandardButtons buttons —消息盒子显示按钮,默认为一个Ok按钮 参数五:QMessageBox

    30320

    C++ Qt开发:QSqlDatabase数据库组件

    value(const QString &name) 获取当前记录中指定列名值。 prepare(const QString &query) 准备一个 SQL 查询。可以在查询中使用占位 ?...作为参数占位。...可以使用占位 ? 或者命名占位 :name。 executedQuery() const 获取实际执行 SQL 查询。当使用占位时,这个方法返回实际执行 SQL 语句。...使用 setDatabaseName 设置数据库名称,这可能是一个本地文件名或者服务器地址。 尝试打开数据库连接,如果连接失败,通过 QMessageBox 显示错误信息。...使用 db.exec(sql) 执行 SQL 更新语句。 事务提交和关闭: 尝试提交事务,如果成功,显示更新数据成功消息,否则显示更新数据失败消息。 关闭数据库连接

    1K10

    在TextView前面(或后面)添加文本(或者图片)标签

    如果使用TextView自带drawableLeft属性,虽然可以满足一些常规需求,但是可定制化太低,而且文本换行时图片和文本会分离,达不到想要效果。...其实我就是把常用一些方法写到一起,供大家调用,而且不用修改原来代码就可以设置标签,当然还有一些其他方法(比如:下划线,删除线,格式文本颜色,超链等等),只需要调用对应方法就可以了,节约大波时间。...tvt_text_space dimension 0 标签文本间隔 tvt_tag_location enum start 标签显示位置 start开始位置,end结束位置 tvt_tag_start_background_color...textSpace Int 0 标签文本间隔 tagLocation Int TagLocation.START 标签显示位置 TagLocation.START开始位置,TagLocation.END...,比如跳转电话,只需要传入电话号码就可以 color:超链文本颜色 isUnderlineText:是否显示下划线,可选,默认值false setURLSpan(data: MutableList<

    2.6K20

    Kotlin 编码规约

    特别是在为类定义所有客户都相关扩展函数时,请将它们放在类自身定义相同地方。而在定义仅对指定客户有意义扩展函数时,请将它们放在紧挨该客户代码之后。...通常不鼓励使用多个词名称,但是如果确实需要使用多个词,可以将它们连接一起使用驼峰(org.example.myProject)。...例外:不要在“range to”操作(0..i)左右留空格。 不要在一元运算左右留空格(a++) 在控制流关键字(if、 when、 for 以及 while)相应左括号之间留空格。...只有当需要不适合放进主文本流程冗长描述时才应使用 @param @return。...字符串模版 将简单变量传入到字符串模版中时不要使用花括号。只有用到更长表达式时才使用花括号。

    3.2K22

    转向Kotlin——基础知识

    Java一样,字符用单引号,Kotlin也支持反斜杠转义,如常见\n,\t,\b 等等。 虽然字符不能直接作为数值使用,但是可以使用toInt()方法将字符转成相应ASCII码值。...Kotlin使用String表示字符串,有以下两种字符串: 普通字符串:类似于Java,在字符串中可以加转义字符以实现换行等要求; 保留原始格式字符串:不能使用转义字符串,格式直接在字符串中展示,...所谓字符串模板,就是在字符串中添加若干占位,内容在后期指定,也就是说,用模板可以设置字符串动态部分。...模板使用美元符号 $ 设置,如“i=$i”,其中$i就是一个占位,其中 $ 后面的i是变量,还可以用${表达式}来作占位。...as m 控制流 Kotlin控制流Java基本相同,只是使用了when替代了switch。

    1.1K10

    Java Apache POI 打印Word文档工具(含文本替换,动态表格功能)

    本人没有研究,但是大概知道是基于word保存为xml后,然后用占位替换方式,对xml中整段整段内容进行文本替换,最终输出word文档,就能得到word文档。...().setText("新文本"); //上面的代码会导致,原来Run样式都没了,新Run使用默认样式。...占位约定规则 段落文本替换:@${t_*}@ 静态表格(文本替换): ${at_static_*} 静态文档里面需要文本替换地方,使用@${t_*}@ 动态表格(行动态): ${at_row...2. word模板编辑 建议使用WPS编辑word模板,因为目前Apache Poi对office不太友好,在我约束规则下,我发现一个 占位无法对应一个XWPFRun,在处理上非常不方便 ( * 表示通配符...,可以是任意字符) (1) 文本替换,使用@${t_*}@方式(其中两边@,需要独占一种样式) PS : 两边@是必不可少,并且需要使用一种周围字符样式不同样式。

    3.8K10

    Android端IM应用中@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    ,spannedText()返回一个改变标签文本颜色为红色字符串,同时 bindingData()将该字符串作为业务数据返回。...第二个问题,我们要保证文本数据一致性,禁止光标插入到Span覆盖文本中间。...; 3)占位使用不可分割Span(如ImageSpan)替换,这是QQ做法。...这些都可以,唯一缺点是,它不是我想要优雅。我要让它就像使用普通EditText一样正常使用setText()方法。 需要思考问题是,SelectionSpanWatcher在哪里消失了?...9、题外话:本文代码是Kotlin,但我想要Java版@人实现,怎么办? 是的,Kotlin暂时还没这么广泛使用,用不了。

    2.2K30

    【Android】强大SpannableStringBuilder

    (这是一个内容和标记都可以更改文本类) 不同于我们平时赋值使用String、StringBuffer等,只能给TextView设置文本内容,而文本样式只能用TextView来控制,而且该样式可定制性还不大好...SPAN_INCLUSIVE_EXCLUSIVE:前面包括,后面不包括,即在文本前插入新文本会应用该样式,而在文本后插入新文本不会应用该样式 Spannable....SPAN_INCLUSIVE_INCLUSIVE:前面包括,后面包括,即在文本前插入新文本会应用该样式,而在文本后插入新文本也会应用该样式 Spannable....)浮雕 RasterizerSpan : 光栅效果 StrikethroughSpan : 删除线 SuggestionSpan : 相当于占位 UnderlineSpan : 下划线 AbsoluteSizeSpan...(spannableString); } 创建SpannableString时候,传入需要显示字符串

    2.5K120

    Kotlin入门(20)几种常见对话框

    这个提醒对话框便是App开发常见AlertDialog,说起这个AlertDialog,安卓开发者都有所耳闻,该对话框不外乎消息标题、消息内容、确定按钮、取消按钮这四个要素,使用Java编码显示提醒对话框...当然,为了正常地使用这么好扩展函数,不要忘了在代码文件头部加上下面一行导入语句: import org.jetbrains.anko.alert 这么精简Kotlin代码,功能上可是一点都没偷工减料...倘若仅仅是一个带箭头文本,毫无疑问使用文本视图TextView就可以了,箭头图标可以在布局文件中通过drawableRight属性来指定。...正巧Anko库已经提供了这股东风,alert一样来自于Context扩展函数,它便是“selector(对话框标题, 字符串队列) { i -> 第i项选中处理代码 }”,那么将其前面的文本视图相结合...,但是二者在功能使用上是没什么区别的,同样支持点击文本弹出选择框,也同样支持选中某项回调。

    1.6K10

    Kotlin入门(20)几种常见对话框

    这个提醒对话框便是App开发常见AlertDialog,说起这个AlertDialog,安卓开发者都有所耳闻,该对话框不外乎消息标题、消息内容、确定按钮、取消按钮这四个要素,使用Java编码显示提醒对话框...当然,为了正常地使用这么好扩展函数,不要忘了在代码文件头部加上下面一行导入语句: import org.jetbrains.anko.alert 这么精简Kotlin代码,功能上可是一点都没偷工减料...倘若仅仅是一个带箭头文本,毫无疑问使用文本视图TextView就可以了,箭头图标可以在布局文件中通过drawableRight属性来指定。...正巧Anko库已经提供了这股东风,alert一样来自于Context扩展函数,它便是“selector(对话框标题, 字符串队列) { i -> 第i项选中处理代码 }”,那么将其前面的文本视图相结合...,但是二者在功能使用上是没什么区别的,同样支持点击文本弹出选择框,也同样支持选中某项回调。

    2.8K30
    领券