Я работал над приложением, которое позволит пользователю выбирать дни недели. Эти дни затем будут отправлены через намерение в календарь для предварительного заполнения повторяемости события, однако rrule принимает только первые две буквы дней недели. Я смог разделить и связать и сократить дни недели до первых двух букв, но теперь мне нужно перекомбинировать их, чтобы они были разделены запятыми, чтобы я мог отправлять их в намерении. Вот мой код:
int durationColumnIndex = mCursor.getColumnIndex(PrescriptionContract.PrescriptionEntry.COLUMN_PRESCRIPTION_FREQUENCY_DURATION);
String duration1 = mCursor.getString(durationColumnIndex);
String [] duration2 = duration1.split("\\s+");
for (int x=0; x < duration2.length;x++) {
if (duration2[x].length() >= 2) {
duration2[x]= duration2[x].substring(0, 2);
Log.v("CatalogActivity", duration2[x] + " rows deleted from prescription database");
}
}
Как видите, я не понимаю, как их рекомбинировать. Я пытался:
String.join (",", duration2), но похоже, что это не работает. Моя цель состоит в том, чтобы превратить «понедельник, среда, воскресенье» в Mo, We, Su, это должна быть одна строка. Спасибо




Вы можете использовать Stringbuilder
StringBuilder stringBuilder = new StringBuilder();
int durationColumnIndex = mCursor.getColumnIndex(PrescriptionContract.PrescriptionEntry.COLUMN_PRESCRIPTION_FREQUENCY_DURATION);
String duration1 = mCursor.getString(durationColumnIndex);
String[] duration2 = duration1.split("\\s+");
for (int x = 0; x < duration2.length; x++) {
if (duration2[x].length() >= 2) {
duration2[x] = duration2[x].substring(0, 2);
stringBuilder.append(duration2[x].substring(0, 2)).append((","));
Log.v("CatalogActivity", duration2[x] + " rows deleted from prescription database");
}
}
Log.v("CatalogActivity", stringBuilder.toString());
Можно так: String recompined = TextUtils.join(",", duration2);
Измените , на то, что вам нравится в качестве разделителя.