gpt4 book ai didi

android - setOnEditorActionListener 不适用于软键盘提交按钮,但适用于笔记本电脑的 Enter 键?

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

有人可以提供一个解决方案来为软键盘 DONE 按钮获取工作监听器,和/或解释我当前方法中做错了什么吗?

我的 Xml 和 Java 设置

  • 在 Xml 中,有一个简单的 EditText 设置为 android:imeOptions="actionDone"
  • 在 Java 中,它只有一个基本的 TextView.OnEditorActionListener 声明

因此,当点击设备软键盘提交(又名 DONE)按钮时,setOnEditorActionListener() 不会被调用 - 下面的绿色箭头按钮; 只有 EditText 字段被清除

enter image description here

但是当单击计算机Enter(通过 ADB 附加) 时,确实会调用该监听器。

我认为它应该适用于这两个按钮..这不对吗?

XML 布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.demo.MainActivity">

<EditText
android:id="@+id/comment_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:maxLines="1"
android:imeOptions="actionDone"
/>
</LinearLayout>

Java Activity 文件:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

((EditText) findViewById(R.id.comment_text)).setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
int i = 5; // added this to set a break point
return false;
}
});
}
}

Update for Solution

Thanks to @Apoorv Mehrotra's answer, it turns out that my EditText was missing this one attribute in order for the soft keyboard event to be recognized. Adding this to the above Xml solves the problem.

android:inputType="text"

最佳答案

我有同样的问题,对我来说,在 EditText 中添加 android:singleLine="true" 就可以了

关于android - setOnEditorActionListener 不适用于软键盘提交按钮,但适用于笔记本电脑的 Enter 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41422954/

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