Mad*_*han 12
如果要进行正常处理,请返回false.否则,返回true.
见文档.
默认情况下,当您返回false时,Android会调用与该项关联的Runnable,或者运行您可以setIntent(...)在MenuItem上设置的Intent .如果您不希望发生这种情况,则应返回true.
假设您按如下方式创建MenuItem.
MenuItem menu1 = new MenuItem(this);
menu1.setIntent(myIntent);
Run Code Online (Sandbox Code Playgroud)
这myIntent是您单击菜单项时要执行的操作.例如:假设您的菜单项启动GMail应用程序以发送电子邮件,文本在您的活动的文本视图中.
在你的onOptionsItemSelected()回调中,你可以检查文本视图的值,如果文本视图不为空则返回false(你在文本框中有东西,你可以触发Intent到GMail)否则显示一个消息框说"请键入a消息首先"并返回true,因此Android不会触发Intent.
public boolean onOptionsItemSelected (MenuItem item) {
if (textView.getText().trim().equals("")){
// show the message dialog
return true;
}
else {
// we have some message. We can let android know that
// it is safe to fire the intent.
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
希望这有助于...快乐编码.
| 归档时间: |
|
| 查看次数: |
3167 次 |
| 最近记录: |