Повторное использование атрибута inputType из TextView в пользовательском представлении

Я пытаюсь повторно использовать атрибут android: inputType из TextView в своем пользовательском представлении, но получаю следующую ошибку:

Типы строк не разрешены (в 'inputType' со значением 'textMultiline').

Я сослался на решение по адресу https://stackoverflow.com/a/10361617/313042.

Файл 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" />

Есть ли способ решить эту проблему? Спасибо.


person rajath    schedule 08.03.2017    source источник
comment
Вам нужно только объявить новые атрибуты   -  person Nick Cardoso    schedule 08.03.2017
comment
@NickCardoso, ты имеешь в виду, что я не должен объявлять: ‹attr name=android:inputType/›   -  person rajath    schedule 08.03.2017


Ответы (1)


Ваша опечатка textMultiline должна быть textMultiLine.

См. поддерживаемые android:inputType через XML в этой ссылке

person NamNH    schedule 08.03.2017
comment
Это сработало отлично. Спасибо. Потребовалось бы много времени, чтобы понять это. - person rajath; 08.03.2017
comment
Ага. Когда-то я думал, как прекрасно, если IDE может помочь нам обнаружить опечатку (шучу). - person NamNH; 08.03.2017
comment
Что ж, не такая уж и плохая идея — гугл может ввести за это предупреждение — что-то вроде Вы имели в виду textMultiLine? встроенный в Android Studio. - person rajath; 08.03.2017