OnEditorActionListener not working(OnEditorActionListener 不工作)
问题描述
我只是想在用户在 editText 上按 enter 时捕捉事件.
I simply want to catch the event when the user press enter on an editText.
我没有收到 Toast 消息,不是按下 Enter",也不是按下了某个键!"要么.
I did not get the Toast message, not the "Enter pressed" and not the "Some key pressed!" either.
我做错了什么?
myEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Toast.makeText(getApplicationContext(), "Some key pressed!", Toast.LENGTH_LONG).show();
if (event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
Toast.makeText(getApplicationContext(), "Enter pressed", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
});
它在 Android 2.3.3 上运行,在 4.1.2 上运行不正常有什么想法可以让我在任何安卓设备上使用它吗?
Well it is working on Android 2.3.3 and not working on 4.1.2 Any ideas how can i make this work on any android device?
推荐答案
请尝试将EditText设置为单行模式.
Please try to set the EditText in single line mode.
editText.setSingleLine();
或在您的 xml 布局文件中:
or in your xml layout file:
android:singleLine="true"
更新
已弃用.从现在开始,使用 android:singleLine="true"android:maxLines="1" 和 android:inputType="text" 来实现这个行为
is deprecated. From now on, use android:singleLine="true"android:maxLines="1" with android:inputType="text" for achieving this behaviour
或
editText.setMaxLines(1);
editText.setInputType(InputType.TYPE_CLASS_TEXT);
用于以编程方式设置.
这篇关于OnEditorActionListener 不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:OnEditorActionListener 不工作
基础教程推荐
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
