How to use formatted strings together with placeholders in Android?

Finally I managed to find a working solution and wrote my own method for replacing placeholders, preserving formatting:

public static CharSequence getText(Context context, int id, Object... args) {
    for(int i = 0; i < args.length; ++i)
        args[i] = args[i] instanceof String? TextUtils.htmlEncode((String)args[i]) : args[i];
    return Html.fromHtml(String.format(Html.toHtml(new SpannedString(context.getText(id))), args));
}

This approach does not require to escape HTML tags manually neither in a string being formatted nor in strings that replace placeholders.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)