Я хочу создать TextInputLayout с рамкой, используя стиль: R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox из неактивного класса.
Ниже приведен пример кода:
TextInputLayout textInputLayout = new TextInputLayout(context, null, R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox);
textInputLayout.setHint("My Hint");
textInputLayout.setBoxBackgroundMode(TextInputLayout.BOX_BACKGROUND_OUTLINE);
textInputLayout.setBoxCornerRadii(5, 5, 5, 5);
TextInputEditText et = new TextInputEditText(textInputLayout.getContext());
textInputLayout.addView(et);
Когда я запускаю это Я получаю следующие cra sh:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.tsp.bonw, PID: 10121
java.lang.NullPointerException: Attempt to invoke virtual method 'float com.google.android.material.shape.MaterialShapeDrawable.getTopLeftCornerResolvedSize()' on a null object reference
at com.google.android.material.textfield.TextInputLayout.setBoxCornerRadii(TextInputLayout.java:938)
Я думаю, я не могу установить атрибут стиля: R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox для TextInputLayout из класса неактивности.
Если я удаляю вызов setBoxCornerRadii, TextInputLayout правильно отображается в моей деятельности, но без поля. Мне нужно TextInputLayout, чтобы показать с полем.
Любая помощь очень ценится. Спасибо.