我的布局中有多个多行EditText,ImeOptions设置为ActionNext.但是android键盘没有显示Next按钮.当我从inputType中删除textMultiLine时,会出现Next按钮.如何使用多行EditText实现它?
我在我的应用程序中实现了一个 SearchView ,当我使用软键盘(使用 QueryTextListener )按下搜索按钮时,它可以正常工作:
viewHolder.mTextSearch.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
new SearchForEquipmentTask(false, viewHolder.mTextSearch.getQuery().toString()).execute();
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
//Log.d(TAG, "Query: " + newText);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
现在,我计划使用物理键盘,以便我的用户能够使用该应用程序,但我不知道如何从物理键盘触发搜索事件(不会使用该键调用 onQueryTextChange)。当我在 Android Studio 中运行模拟器时,也会发生同样的情况。我试过了:
viewHolder.mTextSearch.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
Log.d(TAG, "Query: " + keyEvent);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
但是SearchView似乎忽略了任何键的侦听器...似乎QueryTextListener是处理搜索的唯一方法,但是如何处理特殊字符?我应该将其切换到更灵活的EditText吗?
任何想法?
我无法在HTC设备上看到完成和喜欢的imeoptions,而相同的代码可以与摩托罗拉一起使用.
这是代码
<TableRow>
<EditText android:hint="Name"
android:id="@+id/name"
android:background="@drawable/chegg_topcorner_rounded"
android:layout_width = "50dp"
android:layout_height="wrap_content"
android:gravity ="left"
android:paddingLeft = "10dp"
android:paddingTop = "9dp"
android:paddingBottom = "9dp"
android:imeOptions="actionNext"
android:textSize="14dp"
>
</EditText>
</TableRow>
Run Code Online (Sandbox Code Playgroud)
谁能帮忙.
提前致谢
我为一个应用程序编写了代码.在那里我编写了IME_ACTION_DONE用于编辑文本.所有其他设备都支持这个动作但是在HTC中我没有得到这个'完成'的软键盘按钮.我怎样才能在HTC中获得这个软按钮欲望其他明智的请给我替代EditText上的这个完成按钮功能,而我的应用程序中没有很多更改用于HTC.