我制作了自己的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);
}

10-07 12:50
查看更多