让我们说,用户正在EditText中键入文本。现在,当用户输入时,我想从这些文本中提取关键字。
例如,如果用户输入“我有头疼”。它应该提取“头痛”作为关键词。
请告诉我如何在Android中有效地执行此操作。
更新:我不知道关键字是什么。必须从用户输入的文本中提取它们。
答案 0 :(得分:2)
首先,您应该定义您将视为关键字的内容。
一个。作为关键字的有限单词列表 或者b。 不关键字的单词列表。
该列表可以位于代码中的ArrayList<String>
。
当用户更改EditText中的文本时(请参阅EditText.addTextChangedListener(new TextWatcher(){...})
,您可以使用split()
作为分隔符获取文本String []
space character
。下一个搜索列表中数组中的每个单词(顶部的a或b选项)要么检查它们是否存在。当您点击时,您已找到用户输入的关键字。
结果关键字可以暂时保存在另一个ArrayList<String>
中,供您在完成输入扫描后使用它们。
注意:我已经提出了一个ArrayList来保留列表,考虑到它不会是一个很长的列表。更复杂的情况下,列表可以保存在HashMap或TreeMap中,与@Deepakkaku评论的搜索更快。
答案 1 :(得分:1)
这个问题可以有两种方法:
选项1需要提前定义一组关键字,您认为在您的问题中没有这些关键字。所以这不适用于这种情况。所以这是选项2的解决方案。