editText1的OnKey事件为什么执行两次Toast?怎么可以避免

ilove8 2013-10-02 09:48:27

当editText1空值时回车键,提示不能为空,但是为什么每次显示两次提示,跟踪了一下,该onKey事件执行两次.
主要代码如下

editText1.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
boolean bRet = false;
String s = editText1.getText().toString();
if(arg1==KeyEvent.KEYCODE_ENTER){
if(s.length() == 0){
ShowToast("不能为空");

bRet = true;
}
}
return bRet;
}
});


edit1Text文本控件下面还有个edit2Text

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<EditText
android:id="@+id/editText1"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"
android:ems="10" >

<requestFocus />
</EditText>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<EditText
android:id="@+id/editText2"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true"
android:ems="10" />

</LinearLayout>


如何避免两次提示?谢谢
...全文
274 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilove8 2013-10-07
  • 打赏
  • 举报
回复
结贴! !
ilove8 2013-10-07
  • 打赏
  • 举报
回复
if(arg1==KeyEvent.KEYCODE_ENTER && arg2.getAction() == KeyEvent.ACTION_UP)
有效果,谢谢啊 你QQ号多少加你一下.
tantahe 2013-10-02
  • 打赏
  • 举报
回复
点击一次回车键,KeyEvent.ACTION_DOWN和KeyEvent.ACTION_UP都触发了View.OnKeyListener(),所以Toast显示了两次。你可以把
if(arg1==KeyEvent.KEYCODE_ENTER)
改成
if(arg1==KeyEvent.KEYCODE_ENTER && arg2.getAction() == KeyEvent.ACTION_DOWN)
或者
if(arg1==KeyEvent.KEYCODE_ENTER && arg2.getAction() == KeyEvent.ACTION_UP)
这样就只在按下ENTER键或者松开ENTER键的时候显示Toast。 你也可以根据需要改成按下和松开的时候,Toast分别显示不同的字串。
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 HTML 导航栏中的下拉菜单是网页设计领域中常见的交互组件,其主要作用在于对网站的多层次结构进行组织和呈现。在网页的顶部区域,导航栏通常包含主要的导航项目,这些项目可以通过下拉菜单的形式来进一步展开,从而显示更多的子页面或功能模块。在本教程中,我们将详细研究如何构建一个基础的HTML导航栏下拉菜单,并涵盖相关的技术要点。 在开始之前,我们需要掌握HTML的基础构成。HTML(HyperText Markup Language)是用于构建网页的核心语言,它借助标签来定义网页的内容及其结构。在构建导航栏时,`

80,489

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧