gpt4 book ai didi

java - 输入按钮时将键盘隐藏在 fragment 中

转载 作者:搜寻专家 更新时间:2023-11-01 09:22:27 26 4
gpt4 key购买 nike

我在一个 fragment 中,当我点击回车键(在键盘上)时,我想隐藏键盘。这个我试过了,还是不行

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cursorVisible="false"
/>


edittext.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)) {
getActivity().getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}

最佳答案

首先创建一个hideSoftKeyboard() void。

public void hideSoftKeyboard() {
if(getCurrentFocus()!=null) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}

然后将OnEditorActionListener设置为edittext并调用hideSoftKeyboard()

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if ((actionId == EditorInfo.IME_ACTION_DONE) || ((event.getKeyCode() == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN ))){
hideSoftKeyboard();
return true;
}
else{
return false;
}
}
});

最后我们将一些 XML 属性添加到 edittext

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/edittext"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:imeOptions="actionDone"
android:singleLine="true"
android:lines="1"
android:inputType="text"/>

关于java - 输入按钮时将键盘隐藏在 fragment 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53657154/

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