Intereting Posts
Не удалось расширить RemoteViews: MediaSessionCompat и NotificationCompat.MediaStyle на устройствах HUAWEI (Android) Proguard не может найти динамически ссылочный класс javax.swing. * Отпечаток пальца Musicg для аудиовхода Скрыть / изменить изображение экрана приложения из последних приложений Android 4.x Как использовать «Intent.FLAG_ACTIVITY_CLEAR_TASK» на устройствах с предварительной сотой? SQLite для пользовательских табличных представлений Android (SQL VIEW, а не Android) несоответствие? Мой флажок не отображается в моем CheckedTextView Ароматы подписи под ключ с разными клавишами на Android Тусклый экран, когда пользователь неактивен Java.lang.RuntimeException: невозможно создать обработчик внутри потока, который не вызвал Looper.prepare (); Как установить маржу ImageView с помощью кода, а не xml OpenCV FeatureDetector Как изменить диалоги «Dividers» диалогового окна Android DatePicker Как получить текущий контекст? Android: Воспроизведение mp3-файла из необработанного ресурса при нажатии TextView

Как добавить кнопку Go в android SoftKeyBoard и ее функциональность?

Я хочу поместить кнопку «Перейти» в панели инструментов Android-приложений

Для поиска и других связанных сценариев может кто-нибудь подскажет мне, как достичь этого? С примером.

Любая помощь будет назначена.

Solutions Collecting From Web of "Как добавить кнопку Go в android SoftKeyBoard и ее функциональность?"

Наконец, я использовал …

EditText SearchEditText =(EditText)findViewById(R.id.txtMapSearch); SearchEditText.setOnEditorActionListener(new OnEditorActionListener(){ @Override public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) { if(arg1 == EditorInfo.IME_ACTION_SEARCH) { // search pressed and perform your functionality. } return false; } }); 

Если у вас есть вопрос, что у вас есть EditText или редактируемый TextView, и вы хотите, чтобы правая кнопка действия на программной клавиатуре читала «Go», добавьте этот атрибут в EditText / TextView

 android:imeActionLabel="actionGo" 

Обратите внимание, что он также должен быть одной строкой TextView, так как в противном случае кнопка действия будет переключателем возврата каретки (стрелка).

 android:singleLine="true" 

Я делаю то же самое для «отправки»:

Используйте этот класс в своем макете:

Открытый класс ActionEditText расширяет EditText {public ActionEditText (контекст контекста) {супер (контекст); }

 public ActionEditText(Context context, AttributeSet attrs) { super(context, attrs); } public ActionEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection conn = super.onCreateInputConnection(outAttrs); outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION; return conn; } 

}

В xml:

 <com.test.custom.ActionEditText android:id="@+id/postED" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@android:color/transparent" android:gravity="top|left" android:hint="@string/msg_type_message_here" android:imeOptions="actionSend" android:inputType="textMultiLine" android:maxLines="5" android:padding="5dip" android:scrollbarAlwaysDrawVerticalTrack="true" android:textColor="@color/white" android:textSize="20sp" /> 

я использовал

 android:imeOptions="actionGo" 

И обрабатывать действие go, используя

 etSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_GO || actionId == EditorInfo.IME_ACTION_DONE) { //your functionality // hide virtual keyboard InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(etSearch.getWindowToken(), InputMethodManager.RESULT_UNCHANGED_SHOWN); return true; } return false; } });