gpt4 book ai didi

android - 当我单击表单上的提交按钮时,我需要做什么才能使 Android 软键盘消失并清除 EditText 字段?

转载 作者:行者123 更新时间:2023-11-29 17:20:34 26 4
gpt4 key购买 nike

我的应用程序内置了一个聊天功能,但我在使用时遇到了问题。这是 XML:

<LinearLayout android:id="@+id/chat_window" android:orientation="vertical">
<ListView
android:id="@+id/received_chats"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll">
</ListView>
<LinearLayout android:id="@+id/control_window" android orientation="horizontal">
<EditText android:id="@+id/chat_entry_window" />
<Button android:id="@+id/send_chat_button" android:text="Send" />
</LinearLayout>
</LinearLayout>

在后端,我有一个 onClickListener 控件,它在单击按钮时触发:

public class Chat extends Fragment {

private View rootView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
rootView = inflater.inflate(R.layout.chat, container, false);
return rootView;
}

@Override
public void onViewCreated(View rootView, Bundle, savedInstanceState){
super.onViewCreated(rootView, savedInstanceState);
displayChats();
}

@Override
public void onResume(){
super.onResume();
displayChats();
}

@Override
public View getView(){
Button sendChatButton = (Button) rootView.findViewById(R.id.send_chat_button);
sendChatButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
// get EditText contents and send the chat ...
}
});
}

public void dispalyChats(){
final ArrayAdapter adapter = new CustomArrayAdapter(getActivity, R.layout.line_of_chat_text, MainActivity.chatList);
final ListView list = (ListView) rootView.findViewById(R.id.received_chats);
list.smoothScrollToPosition(list.getCount() - 1);
}
}

我的问题是,当我点击“发送”按钮时,软键盘没有消失,我在 EditText 窗口中输入的文本没有被清除。

我试过这个方法让软键盘消失,但是好像不行。但是,我可能在错误的地方尝试了它。

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

为了使这两件事发生,我需要做什么?

最佳答案

请在您的点击监听器按钮中尝试以下操作

    @Override
public View getView(){
Button sendChatButton = (Button) rootView.findViewById(R.id.send_chat_button);
sendChatButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
//Hide:
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
//toclear edit text
EditText.setText("");

}
});
}

关于android - 当我单击表单上的提交按钮时,我需要做什么才能使 Android 软键盘消失并清除 EditText 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720988/

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