我试图在每个第n个逗号分割一个字符串在android中,从中创建一个新的子字符串,然后将其传递给android tts
引擎,这样我就可以通过跟踪每个逗号来进行for循环当我点击nth
时,
if (list.size()>=columns) { //list is a string array list
for (int i = 0; i < words.length(); i++) { //words is list.toString()
if (words.charAt(i) == ',') {
count++;
scrollPos++;
if (count == columns) {
//columns is a dimen integer for this device its 4
String ab = words.substring(startPoint, i + 1);
speakWords(ab);
startPoint = i + 1;
count = 0;
}
}
}
这个工作得很好,除非计数是14
我会得到3个字符串的4个项目,并且它忽略2的剩余部分,但我希望其余部分制作自己的字符串,我尝试制作一个新的{ {1}}调用 leftOver 并为其赋予startpoint的值 - words.length就像这样
Int
然后从leftover创建新的字符串,从列表的起点到结尾,如下所示
Integer leftOver = startPoint - words.length();
但这只是第一次用7个项目调用两次然后for循环再次运行而startPoint更新为4个项目(列值)留下3
所以我的问题是如何获得余数%或者是否有更好的方法可能使用string.split?
这是使用
的整个代码块if (leftOver > 3) { //its only 3 due to formatting would be 0 if i trimmed it and removed commas)
String ab2 = words.substring(startPoint, words.length());
speakWords(ab);
}