我制作了以下函数将字符串分解为印地语字符。但它的行为与 android API 29 和 API 30 不同。在 Android 29 中,印地语单词 चक्की 被分解为 च क् की 但在 Android 30 中,它被正确分解为 च क्की。
public List<String> breakIntoHindiChar(String textAnswer) {
List<String> ansCharList = new ArrayList<String>();
Locale hindi = new Locale("hi", "IN");
BreakIterator breaker = BreakIterator.getCharacterInstance(hindi);
breaker.setText(textAnswer);
int start = breaker.first();
for (int end = breaker.next();
end != BreakIterator.DONE;
start = end, end = breaker.next()) {
ansCharList.add(textAnswer.substring(start, end));
}
return ansCharList;
}
我怎么解决这个问题?