在自定义视图中重用TextView的“inputType”属性

5

我试图在自定义视图中重用TextView的“android:inputType”属性,但是我遇到的错误是:

不允许使用字符串类型(在'value'为'textMultiline'的'inputType'处)。

我已经参考了https://dev59.com/8Wkw5IYBdhLWcg3wqMU0#10361617上的解决方案。

attr文件包含以下内容:

<declare-styleable name="MyEditText">
    <attr name="android:inputType"/>
</declare-styleable>

MyEditText.java 是:

int n = typedArray.getIndexCount();
for (int i = 0; i < n; i++) {
    int attr = typedArray.getIndex(i);

    switch (attr) {
        case R.styleable.MyEditText_android_inputType:
            inputTypes = typedArray.getInt(attr, EditorInfo.TYPE_NULL);
            break;

    }
}

布局文件包含以下内容:

<com.example.MyEditText
  android:id="@+id/met"
  style="@style/MyStyle"
  android:layout_marginLeft="0dp"
  android:layout_marginRight="0dp"
  android:layout_marginTop="12dp"
  android:inputType="textMultiline" />

有没有办法解决这个问题?谢谢。

你只需要声明新属性。 - Nick Cardoso
@NickCardoso,你的意思是我不应该声明:<attr name="android:inputType"/>吗? - Rajath
1个回答

4

您的错别字 textMultiline 应该修改为 textMultiLine

请参阅此链接中以xml格式支持的 android:inputType选项:此链接


那个完美地运行了。谢谢你。要是自己想出来可能需要很长时间。 - Rajath
是的。有时候,我想如果IDE能够帮助我们检测拼写错误该有多好(开个玩笑)。 - NamNH
2
嗯,这不是一个坏主意——Google可以在Android Studio中引入一个警告,比如“您是否想使用textMultiLine?” - Rajath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接