- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在扩展从其菜单触发一些其他 Activity 的示例 Android Activity 时,我开始在 onOptionsItemSelected
中处理一些菜单项,并且通过调用 处理一些菜单项(刚刚触发 Intent )
。 onCreateOptionsMenu
中的 code>setIntent
基本上是这样的:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
menu.add(0, MENU_ID_1, Menu.NONE, R.string.menu_text_1);
menu.add(0, MENU_ID_2, Menu.NONE, R.string.menu_text_2);
menu.add(0, MENU_ID_3, Menu.NONE, R.string.menu_text_3).
setIntent(new Intent(this, MyActivity_3.class));
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
super.onOptionsItemSelected(item);
switch (item.getItemId())
{
case (MENU_ID_1):
// Process menu command 1 ...
return true;
case (MENU_ID_2):
// Process menu command 2 ...
// E.g. also fire Intent for MyActivity_2
return true;
default:
return false;
}
}
显然,在这种情况下,MENU_ID_3 上设置的 Intent 永远不会被触发,或者相关 Activity 永远不会启动。
Android javadoc 在某些时候会像<<[如果您在菜单项上设置 Intent ] 并且没有其他任何东西处理该项目,那么默认行为将是[使用 Intent ]>>.
“没有其他任何东西处理该项目”实际上是什么意思?从 onOptionsItemSelected
返回 false 就足够了吗?我也尝试不在开始时调用 super.onOptionsItemSelected(item)
并且只在默认 switch 情况下调用它,但我得到了相同的结果。
有人有什么建议吗?Android 是否允许混合使用这两种处理方式?
感谢大家抽空。
最佳答案
好的。解决方案足够愚蠢。 list 中的目标 Activity 名称(如示例中的 MyActivity_3
)拼写错误。
我将第 3 个菜单项处理更改为 onOptionsItemSelected
中的经典开关逻辑,并且在 Eclipse 调试器中出现了 ActivityNotFoundException
异常。
通过以“setIntent 方式”处理菜单项,没有抛出异常。尽管如果我查看 LogCat,我可能会发现一个 MenuItemImpl:找不到处理 Intent 的 Activity ;忽略
。
关于android - 将 menuItem.setIntent 与 onOptionsItemSelected 混合使用不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4566541/
我试图通过参数名称调用存储过程: int processId = 1; CallableStatement stmt = conn.prepareCall("{call get_process_log
这个问题已经有答案了: PreparedStatement setNull(..) (5 个回答) 已关闭 9 年前。 根据this question/answer ,这段代码: try(Prepar
编辑: 好的,假设我有注释 @X 和 @Y public class MyExampleClass{ @X @Y Integer myfield; } 我遇到的问题是当我打电话 field.set
我的 Activity (A) 是通过推送通知启动的,通过提供的 PendingIntent。如果这个 Intent 有某个键,那么我需要开始一个新的 Activity (B)。按回 B,我应该回到
遇到类似于 this question 的问题时,我开始想知道为什么我们在重写 onNewIntent 时必须显式调用 setIntent,以及为什么 super.onNewIntent 还没有执行此
本文整理了Java中bibliothek.util.xml.XElement.setInt()方法的一些代码示例,展示了XElement.setInt()的具体用法。这些代码示例主要来源于Github
我有一个简单的 SQL 语句,我想通过 执行 String tokenInsQ = "INSERT INTO pitweb.tokens (token_user_id,token_to
我正在尝试使用 prepareForSegue 在另一个 VC 上设置整数方法。我有四个按钮,每个按钮在按下时都有自己的 bool 值 - (IBAction)answerChoiceFourPres
谁能告诉我为什么这个方法不起作用? String strQuery = "Insert Into cust_subs (CustomerId,SubscriptionId) Values (?,?)"
我正在捕获执行操作的日期时间并将其设置在 SharedPreferences 中(prefs 是 SharedPreferences 的一个实例), prefs.setInt('last_action
几乎我在 Unity3D 中有一个我正在为 Android 制作的应用程序,您可以收集硬币,这是游戏的货币。每次我开始游戏时,我的硬币数量都会初始化为 0,即使我正在使用 setInt 和 getIn
我在 Eclipse 上使用 PostgreSQL 9.1 和 Tomcat 7。连接是通过连接池建立的。当我对 PreparedStatement 使用 setInt() 方法时,没有返回任何内容。
在扩展从其菜单触发一些其他 Activity 的示例 Android Activity 时,我开始在 onOptionsItemSelected 中处理一些菜单项,并且通过调用 处理一些菜单项(刚刚触
我正在开发一个按钮小部件,当用户单击按钮时我想更改资源图像,但它不起作用,这是我的代码: 小部件.xml : MyWidgetActivity.java : p
我有以下场景: 我有一个聊天 Activity ,它的目的是获取要显示消息的联系人的电子邮件,该 Activity 的启动模式为 singleTop 通过在屏幕上滑动我的手指,我可以在不同的对话之间切
我正在使用 MySQL 连接器/C++ 库将值插入到数据库表中。我正在关注 中的示例 http://dev.mysql.com/tech-resources/articles/mysql-connec
本文整理了Java中org.apache.hadoop.yarn.conf.YarnConfiguration.setInt()方法的一些代码示例,展示了YarnConfiguration.setIn
我有以下代码片段: public static void main(String[] args) throws SQLException { Connection c = getCon
我是一名优秀的程序员,十分优秀!