....
....
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 - 根本没有任何反应! (我的意思是,默认情况下没有任何东西被调用,所以默认处理程序必须不做任何事不管怎样,谢谢你。 –