如何搜索XML文件中存储的字符串内容?

2023-12-03

我是安卓开发新手。

我有一个包含一堆片段的活动,每个片段显示不同的文本。我在运行时从 strings.xml 设置文本(即 tv.setText...)

这是我的 strings.xml 的示例:

<string name="string1">the content I want searched, text1</string>
<string name="string2">the content I want searched, text2</string>
<string name="string3">the content I want searched, text3</string>

这是我的问题:
我想在应用程序中添加搜索功能,我希望能够搜索字符串内的单词并将整个字符串作为结果返回给用户。 例如,如果用户搜索text2,它将返回整个字符串。

我已经在这里阅读了有关 android 开发人员的搜索指南:http://developer.android.com/guide/topics/search/index.html

我还找到了一堆教程,但它们似乎都处理存储在 SQLite 数据库中的数据。

这是我的更多代码:
可搜索.xml:

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/app_name"
    android:hint="Search" >
</searchable>

可搜索活动:

public class SearchableActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);

        handleIntent(getIntent());
    }


    @Override
    protected void onNewIntent(Intent intent) {
        setIntent(intent);
        handleIntent(intent);
    }



    private void handleIntent(Intent intent) {
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
          String query = intent.getStringExtra(SearchManager.QUERY);
          doMySearch(query);
        }
    }

    private void doMySearch(String query) {
    }

}

任何帮助,将不胜感激

P.S 这是最好的方法吗?我有很多字符串 (>1000) 我读到有关使用数据库的信息,但我不知道如何将所有数据转换为数据库,也不知道如何从数据库设置文本......等等


我认为您需要使用键在 strings.xml 文件中进行搜索,如果我理解您的话,这就是答案。

字符串.xml

<string name="string1">the content I want searched, text1</string>

在 strings.xml 中搜索的方法

private String SearchForString(String message){
// get the resource id if matched any key in strings 
// message Passed string you want search for
// "string" type of what you looking for
// package name

try {
    int resId = getResources().getIdentifier(message , "string" , getPackageName());
    String stringReturned =  getResources().getString(resId);
return stringReturned;
  } catch(Exception e){
  return null;
  }
  }

现在调用方法

SearchForString("string1");

它应该返回:我要搜索的内容,text1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何搜索XML文件中存储的字符串内容? 的相关文章

  • 从设备获取日期并将其转换为 GMT+4

    我正在尝试查找 Android 手机的时区 因为我想获取日期对象 但我想要 GMT 4 格式 我看到的所有其他答案都会转换来自 API 请求的时间 其时区已知 我怎样才能做到这一点 其他方法可能是将服务器传来的 GMT 4 时间转换为我设备
  • Log4j 2.x 如何实现惰性参数求值?

    鉴于Java 参数评估机制 http docs oracle com javase specs jls se8 html jls 15 html jls 15 12 4 2 如何Log4j 2 x实施惰性评估 https logging a
  • 无法启动由 ContextImpl.openFileOutput 处的 NullPointerException 引起的活动

    我发布了一个使用 Google 地图 Android 兼容性库的应用程序 https github com petedoyle android support v4 googlemaps https github com petedoyle
  • 如何在 Rails for Android 中使用 gzip 压缩 JSON?

    我正在运行 Rails 3 2 7 和 Ruby 1 9 3p194 以从 SQLite 数据库输出 JSON 数据 render json gt result to json Android 应用程序使用通过以下方式加载的 JSON 文件
  • 识别包含本机方法实现的库文件/源

    如何识别包含本机方法实现的库文件 Ex public native String intern 我在哪里可以找到实施 source code of String intern 方法 找到了答案String intern 与快速谷歌搜索 ht
  • StringBuilder - 重置或创建新的

    我有一个条件 StringBuilder 不断存储与大型平面文件 数百 MB 中的模式匹配的行 但是 在达到条件后 我将 StringBuilder 变量的内容写入文本文件 现在我想知道是否应该通过重置对象来使用相同的变量 gt strin
  • JRuby调用了错误的方法

    我在调用 Java 方法时遇到了一个奇怪的问题JRuby http en wikipedia org wiki JRuby 在我的 Java 类中 这些方法定义了两次 看来 JRuby 调用了错误的方法 所以我尝试使用java method
  • Selenium - WebDriver.findElement() 和 WebElement.findElement() 之间的区别

    我正在使用WebElement findElement By cssSelector click 在页面上查找某个元素 但它返回了 Unable to locate element 但是当我使用WebDriver findElement B
  • 在同步子句中抛出异常的副作用?

    从同步子句中抛出异常是否有任何不清楚的副作用 锁会发生什么情况 private void doSomething throws Exception synchronized lock doSomething 我没有看到任何副作用 The 锁
  • 如何在 Eclipse 构建期间忽略/阻止验证 javadoc 文件夹?

    在我的战争中有一个巨大的javadoc文件夹 验证它是没有意义的 因为 javadoc 是由 Sun Oracle javadoc 实用程序生成的 我已经忘记上次是怎么做的了 我需要告诉 Eclipse 构建不要验证该特定文件夹 我需要它的
  • 从java类文件获取apache webcontents文件夹的绝对路径[重复]

    这个问题在这里已经有答案了 需要在动态 Web 应用程序内获取 java 类文件中的绝对路径 实际上我需要获取 apache webapps 文件夹的路径 部署 webapps 的位置 e g apache root webapps my
  • Java中有没有办法随机获取HashMap的值?

    Java中有没有办法随机获取HashMap的值 这有效 Random generator new Random Object values myHashMap values toArray Object randomValue values
  • Scala 不可变 Map 速度慢

    当我创建地图时 我有一段代码 val map gtfLineArr 8 split map split collect case Array k v gt k v toMap 然后我使用这张地图来创建我的对象 case class MyOb
  • 如何为Android编译最新的FFmpeg库?

    努力将当前 FFmpeg 的工作和一般最佳实践构建在一起 似乎没有最新的文档或教程 现有的内容充满了过时的链接或不起作用的构建脚本 构建独立的 NDK 工具链 下载最新的NDK并运行make standalone toolchain py
  • 将文本文件写入 SD 卡失败

    我遇到了一个奇怪的问题 我的应用程序可以将一个简单的文本文件写入 SD 卡 有时它对某些人有效 但对其他人无效 我不知道为什么 对于某些人来说 如果他们输入一些字符 例如 在文件等中 我似乎无法重现它 因为我没有遇到任何麻烦 但这是处理文件
  • 在 Ubuntu 上的 Tomcat 中加载共享本机库

    如何在 Ubuntu 上的 Tomcat6 中加载共享库 我创建了一个名为 libawragrids so 的库 awragrids 并将其放置在 var lib tomcat6 shared 我在调用启动 tomcat 的终端中设置了以下
  • Java中ThreadFactory的使用

    有人可以简要解释一下如何以及何时使用 ThreadFactory 吗 使用和不使用 ThreadFactory 的示例可能确实有助于理解差异 Thanks 这是一种可能的用法 假设您有一个ExecutorService它执行你的Runnab
  • 从 Java 程序中获取局部变量的名称和类型

    这是我正在尝试的代码 JavaCompiler compilerA ToolProvider getSystemJavaCompiler int resultA compilerA run null null null Users a Do
  • 将我的应用程序添加到“添加快捷方式”列表,以便在主屏幕上有快捷方式

    如您所知 当您长按主屏幕时 手机会显示列表菜单 您可以添加快捷方式 小部件 文件夹等 我希望我的应用程序位于快捷方式列表中 我怎样才能做到这一点 快捷方式自 API 级别 1 起就已存在 并且也可由 3rd 方应用程序使用 要将活动添加到快
  • 从 google play 中提取统计信息

    我正在建立一些统计数据 并希望获得来自 google play 应用程序商店 的统计数据 最受欢迎 下载量 价格等信息 有谁知道是否有这个 API 或者我必须自己抓取它 有一个名为 android market api 的项目http co

随机推荐

  • 偶尔“访问被拒绝”到“C:\WINDOWS\TEMP\”文件

    在我的 ASP NET MVC 应用程序中 当我尝试从 Microsoft Reporting Services 程序集打开或生成 LocalReport 时 有时会出现以下错误 Microsoft Reporting WebForms L
  • 如何使用 TraMineR 和聚合序列数据进行差异分析?

    由于我有一个大数据集和有限的计算资源 我想利用聚合序列对象来差异分析使用 R 包TraMineR and WeightedCluster 但我很难找到合适的syntax因为这样做 在下面的示例代码中 您会发现两个差异分析 差异分析的第一个树
  • 如果路径包含空格,则无法从 VBScript 启动 bat 文件

    例如 我一直在尝试从路径启动 myFileToRun bat 文件 D My Folder batchfiles myFileToRun bat 下面是我尝试运行它的 VBScript Dim WshShell strCurrentDire
  • 如何获取我的设备中安装了多少个应用程序及其名称或上次访问的信息?

    我需要在我的应用程序中显示上次访问的应用程序信息 我怎样才能得到这些信息 您可以使用此代码来获取应用程序列表 PackageManager pm this getPackageManager Intent intent new Intent
  • postDelayed是否会导致消息跳到队列的前面?

    我在 Android 文档中查找 postDelayed发布延迟的文档 这与另一个问题类似 https stackoverflow com questions 25820528 is postdelayed relative to when
  • 执行用包含脚本标签的 XMLHttpRequest 编写的 Javascript?

    通过 JavaScript 请求 XMLHttpRequest使用一些额外的 Javascript 进行响应 这些额外的 Javascript 需要添加到请求页面的页面中 使用 eval 如果响应类似于 alert This is the
  • 如何在 Swift 3 中同时发出 https 请求

    我在执行 https 请求时遇到问题 如果请求没有任何错误 我永远不会收到消息 这是一个命令行工具应用程序 我有一个允许 http 请求的 plist 我总是看到完成块 typealias escHandler URLResponse Da
  • 使用 Apache Camel 重复从只读文件系统轮询文件(幂等 = false)?

    我正在使用轮询消费者模式来读取给定只读目录中的所有文件并处理它们 是否可以选择忽略幂等性 我知道用 noop true 和 idempot false 定义的路由会使整个系统崩溃 无限循环 但池消费者模式是在给定时刻触发的一次性操作 Cam
  • 如何引用vue、js pug模板中的数据?

    基本上我试图从事件名称创建永久链接 当我使用 v model 从事件名称中获取值时 它可以工作 但是如何将转换后的永久链接放回到 pug 的另一个输入框中 这有效 P message textarea rows 2 message 但是当我
  • spring/hibernate:每次打开/关闭会话 VS getCurrentSession

    这些方法之间有什么区别 哪一种更好 到目前为止 我的代码片段如下 public void delete Song song session sessionFactory getCurrentSession session delete so
  • Oracle 11g 的 NHibernate TransactionScope 问题

    以下代码片段在 SQL Server 2008 SP1 中工作正常 但在 Oracle 11g 中 对 session BeginTransaction 的调用会引发异常 并显示消息 连接已经是本地或分布式事务的一部分 堆栈跟踪如下所示 使
  • Amazon Route 53 + Heroku 应用程序无法从某些地方访问 - 该怎么办?

    我正在 Heroku 上工作 在网络方面没有太多背景 我正在开发的应用程序似乎无法从某些地方访问 我们收到了人们无法访问它的报告 我们使用的 ping 服务 Statuscake 报告该站点始终无法从某些节点位置访问 为了解决这个问题 我们
  • Netbeans 15 和 payara 6.2022

    我在 JDK 17 上运行 Netbeans 15 我想尝试 Jakarta EE 10 因此我决定将我的应用程序服务器升级到 Payara 6 2022 1 Alpha 4 应用程序服务器工作正常 我可以在更新大量库后将我的应用程序部署到
  • PHP rtrim“.php”

    我想从字符串末尾删除 php 如果存在 考虑一下 filename index rtrim filename php returns index filename search rtrim filename php returns sear
  • .Net Maui - 如何返回根页面

    我觉得我只是没有向谷歌霸主问这个问题 所以我想看看是否有人可以帮助解释如何做到这一点 我有一个新的 Net Maui 应用程序 它使用 4 个不同的视图 页面 我创建的 MainPage 根 允许我从我们的数据库中搜索用户 然后将您转换到新
  • 在 Swift 4 中用一根手指进行旋转

    我创建了一个 UIGestureRecognizer 来仅用一根手指旋转视图 视图在开始时旋转 但一旦达到一定程度 就会向另一个方向旋转 你能帮我修改我的代码吗 UI视图控制器 override func viewDidLoad super
  • 编写一个肯定会陷入死锁的程序[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我最近在采访中被问到这个问题 我回答说如果交错出错就会出现死锁 但是面试官坚持说可以写一个不管交错总是陷入死锁的程序 我们可以写这样的程序吗 你能给我指一些类似的示例程序吗 UP
  • 高效四元数到欧拉变换

    我使用以下 Python 函数将四元数转换为欧拉角 import math def quaternion to euler angle w x y z ysqr y y t0 2 0 w x y z t1 1 0 2 0 x x ysqr
  • Spring框架无法启动嵌入式容器

    我正在关注 Spring in Action 第四版第 5 章 但我一直停留在第一个示例上 这是我的 Eclipse Luna 项目结构 如果我将这个项目作为 Spring Boot App 运行 那么它会抛出异常 org springfr
  • 如何搜索XML文件中存储的字符串内容?

    我是安卓开发新手 我有一个包含一堆片段的活动 每个片段显示不同的文本 我在运行时从 strings xml 设置文本 即 tv setText 这是我的 strings xml 的示例