2013-03-11 3 views
0

Я попытался установить android:imeOptions на actionSend, actionSearch. Но на клавиатуре нет кнопки «Отправить» или «Поиск», просто обычная клавиша «Ввод». Я также попытался установить различные типы ввода. (Я работаю с HTC Sensation XL.) Что случилось?android: imeOptions. Кнопка не отображается

+0

- это ваш EditText имеет атрибут типа 'android: singleLine =" true "'? – user370305

+0

Пожалуйста, ознакомьтесь с комментариями ниже. – Ermolai

ответ

0

Попробуйте эти actionDone imeOption doesn't work on EditText in Android 2.3

, если она не поддерживается чтения How do I handle ImeOptions' done button click?. Может быть HTC реализовала свою собственную мягкую клавиатуру, которая игнорирует imeOptions

+1

Спасибо. Действительно, похоже, что HTC не поддерживает imeOptions, потому что он работает на планшете ASUS Android. – Ermolai

1

я предлагаю переключая EditText в singleLine режим

+0

Похоже, это не помогает. [Здесь] (http://images.devs-on.net/Image/lSHNHCu7vvzCBFrS-.png) все свойства. Может быть с/без 'lines = 1'. – Ermolai

+0

Да, вы правы, но поскольку одна строка true устарела, поэтому нам нужно найти другой способ. – Subho

+1

'singeLine = true' устарел в пользу' maxLines = 1' –

0

Просто сделать в XML:

<EditText android:imeOptions="actionSearch" 
    android:inputType="text"/> 

Дня Coding !!

0

В настоящее время в Android Studio 2.2.3, если вы используете

android:singleLine="true" 

IDE выдает предупреждение, что это было устаревшее использование MaxLines вместо этого.

android:maxLines="1" 

Однако maxLines не решит проблему. Решение состоит в том, чтобы просто добавить атрибут inputType. Пример:

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/actionDoneDemo" 
    android:layout_below="@id/nameET" 
    android:imeOptions="actionDone" 
    android:hint="Action Done Demo" 
    android:inputType="text"/>