我制作了自己的DroidParts ClearableEditText
修改版,Android Studio给了我以下错误:
此自定义视图应改为扩展android.support.v7.widget.AppCompatEditText
。
为了支持诸如着色之类的功能,appcompat库将自动为内置窗口小部件加载特殊的appcompat替代品。但是,这不适用于您自己的自定义视图。
与其直接扩展android.widget类,不如扩展android.support.v7.widget.AppCompat
中的委托类之一。
但是,当我更改我的ClearableEditText
类以扩展该类时,当我聚焦文本字段时,键盘将永远不会显示。
我知道我可以直接返回直接扩展EditText
,但是我想以推荐的方式进行。我该怎么做并使键盘显示出来?
最佳答案
确保在每个构造函数中都使用super而不是this()。我遇到了与扩展AppCompatEditText相同的问题
工作代码:
public RichEditText(Context context) {
super(context);
}
public RichEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RichEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}