gpt4 book ai didi

android - 处理键盘中的 'Done' 事件不起作用

转载 作者:行者123 更新时间:2023-11-29 21:46:33 25 4
gpt4 key购买 nike

我有一个带有编辑文本的对话框。我想在用户点击键盘上的完成时执行一个操作。我的代码看起来像

我的编辑文本 xml 看起来像

<EditText
android:id="@+id/commondialog_userinput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:imeOptions="actionDone"
android:selectAllOnFocus="true"
android:inputType="text" />

添加的监听器是

final EditText inputField = (EditText)dialog.findViewById(R.id.commondialog_userinput);
inputField.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
inputField.setText(AndroidGlobalVariables.getDocumentName(), TextView.BufferType.EDITABLE);// No I18N
inputField.setFocusableInTouchMode(true);
inputField.requestFocus();
inputField.selectAll();

inputField.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
Toast.makeText(EditorActivity.getActivity(), inputField.getText(),Toast.LENGTH_SHORT).show();
return true;
}
return false;
}

});

最佳答案

将 setOnEditorActionListener 用于您想要在键盘上执行操作的 EditText,如下所示:

 your_editText.setOnEditorActionListener(new OnEditorActionListener() {

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE)
{
** PUT YOUR ACTION HERE !!! **
}
return false;
}
});

关于android - 处理键盘中的 'Done' 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656478/

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