在扩展AppCompatEditText时无法显示键盘

时间:2017-10-23 18:59:45

标签: android android-edittext android-appcompat

我制作了自己的DroidParts ClearableEditText修改版,Android Studio给了我以下错误:

  

此自定义视图应该扩展android.support.v7.widget.AppCompatEditText

     

为了支持着色等功能,appcompat库将自动加载内置窗口小部件的特殊appcompat替换。但是,这不适用于您自己的自定义视图。

     

不应直接扩展android.widget类,而应扩展android.support.v7.widget.AppCompat中的一个委托类。

但是,当我更改ClearableEditText类以扩展该类时,键盘永远不会在我对焦文本字段时显示。

我知道我可以直接回到EditText,但我想以推荐的方式做到这一点。我怎么能这样做并让键盘显示出来?

1 个答案:

答案 0 :(得分:0)

确保在每个构造函数中都使用 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);
}