Почему вызов StaticLayout.Builder вызывает исключение java.lang.NoClassDefFoundError?

Android M изменил сеттеры для StaticLayout, и вместо этого у нас есть шаблон Builder. Но со следующим кодом:

StaticLayout staticLayout = StaticLayout.Builder.obtain("Hello", 0, "Hello".length(), getTextPaint(), 100).build();

Я получаю следующее исключение:

Процесс: sharpdevs.com.legalapp, PID: 7695 java.lang.NoClassDefFoundError: Ошибка разрешения: Landroid/text/StaticLayout$Builder;

Я перепробовал все, это может быть ошибка Android или мне не хватает зависимости от библиотеки поддержки?

1 ответ

Решение

Похоже, что эти вопросы уже были решены в комментариях, поэтому добавить его в качестве фактического ответа...

StaticLayout.Builder был добавлен в API 23, поэтому попытка запустить его на более раннем API вызовет исключение. Вы можете использовать стандарт StaticLayout конструкторы для более ранних версий API.

Другие вопросы по тегам