我正在开发一个Android应用程序,其中我在标签上有一个段落,当用户点击一个单词时,用户可以替换该单词,我的问题是所有与单击的单词相似的单词正在替换因为我使用.replace,我需要做的是替换仅被点击的单词。
答案 0 :(得分:0)
正如Enzokie先前所说,你应该看一下你想删除的单词的起始和结束索引。
如果我理解正确,您希望替换用户选择的单词。 String类有很多方法,对这种东西真的很有帮助。您想要使用的是Java String indexOf(String str)方法。这将找到第一次出现该单词的第一个索引。如果您不想第一次出现,可以使用其他类似功能的方法:http://www.tutorialspoint.com/java/java_string_indexof.htm
一旦你有了起始和结束索引,你可以简单地在位置放置一个“”,直到下一个空格(单词的结尾)。 然后,您可以使用String insert()方法和您之前找到的位置来放置旧单词所在的新单词。
希望这有用。
答案 1 :(得分:0)
我已经找到了解决方案,我用过......
int indexStart = labelCode.getSelectionStart();
int indexEnd = labelCode.getSelectionEnd();
String a = codeText.substring(0,indexStart);
String b = codeText.substring(indexEnd,codeText.length());
String finalAns = a+newVar+b;
我使用Spannable ... .getClickableSpan来检测标签上的抽头字