gpt4 book ai didi

android - 如何在 android 自定义 InputMethodService 上使用回车键进行搜索?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:15:05 34 4
gpt4 key购买 nike

我想用我的 android 自定义键盘使用回车键进行搜索,但它不起作用。
我已经映射了键,我只需要在搜索文本字段上触发“搜索操作”,就像在 google 上搜索一样。

我试过这段代码来触发搜索操作,但它不起作用:

ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));

这是我覆盖回车键事件的方法:

public class Keyboard extends InputMethodService
implements KeyboardView.OnKeyboardActionListener {

@Override
public void onStartInputView(EditorInfo info, boolean restarting) {
super.onStartInputView(info, restarting);

setInputView(onCreateInputView());

switch (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION) {

case EditorInfo.IME_ACTION_SEARCH:
Toast.makeText(this, "test", Toast.LENGTH_SHORT).show();
//Action Search
break;
}
}

我的 xml 布局是:

<?xml version="1.0" encoding="UTF-8"?>
<android.inputmethodservice.KeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:keyPreviewHeight="60dp"
android:keyPreviewOffset="12dp"
android:keyPreviewLayout="@layout/preview"
android:visibility="visible"/>

我的布局中没有任何 EditText 来设置 android:imeOptions="actionSearch"

最佳答案

您必须映射您的键并覆盖回车键,然后将您的搜索代码放入其中。

@Override
public void onKey(int primaryCode, int[] keyCodes) {
switch(primaryCode){

case android.inputmethodservice.Keyboard.KEYCODE_DONE:
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
break;
break;
}
}

如果您没有自定义 keyCode,您可以看到一些 herehere .

关于android - 如何在 android 自定义 InputMethodService 上使用回车键进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35780612/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com