android方法被调用两次,安卓:如果使用imeOptions方法被调用了两次

....

....

android:hint="@string/email"

android:imeOptions="actionSend"/>

...

android:onClick="sendMessage" <<

android:text="@string/send" />

然后在代码绑定:

((EditText) findViewById(R.id.email)).setOnEditorActionListener(new OnEditorActionListener() {

@Override

public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {

sendMessage(findViewById(android.R.id.content));

return false;

}

});

其中的sendMessage是

public void sendMessage(View view)

{

....

intent.putExtra("email", getEditContent(R.id.email));

startActivityForResult(intent, 0);

}

当我按下按钮,一切都精细。当我在ime选项(键盘)中按“完成”时,两个活动同时启动。

我在做什么错?

+0

您是否尝试将返回值从'false'更改为'true'? –

+0

@HugoHidekiYamashita,哈!这样可行。请将它作为单独的答案发布。但对我来说这很奇怪,因为据我所知:这意味着“运行默认处理程序或不运行”(换句话说,“它在这里是否处理完了”)。但是如果我没有实现OnEditorActionListener - 根本没有任何反应! (我的意思是,默认情况下没有任何东西被调用,所以默认处理程序必须不做任何事不管怎样,谢谢你。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值