app_actionLayout定义的menu不能触发onOptionsItemSelected,安卓内存监控悬浮

博客探讨了Android中如何处理菜单布局,特别是在`app_actionLayout`定义的menu不触发`onOptionsItemSelected`的情况。文章详细解析了菜单inflate过程,包括`MenuItem`的设置和`getItemView`方法的作用。同时提到了内存监控的悬浮窗实现,强调了xml菜单属性与视图的关系及其对内存管理的影响。
摘要由CSDN通过智能技术生成

public void inflate(@MenuRes int menuRes, Menu menu) {
XmlResourceParser parser = null;
try {
parser = mContext.getResources().getLayout(menuRes);
AttributeSet attrs = Xml.asAttributeSet(parser);
parseMenu(parser, attrs, menu);
} catch (XmlPullParserException e) {
throw new InflateException(“Error inflating menu XML”, e);
} catch (IOException e) {
throw new InflateException(“Error inflating menu XML”, e);
} finally {
if (parser != null) parser.close();
}
}

最终会调用到下面的setItem()方法

private void setItem(MenuItem item) {
…省略部分代码
boolean actionViewSpecified = false;
if (itemActionViewClassName != null) {
View actionView = (View) newInstance(itemActionViewClassName,
ACTION_VIEW_CONSTRUCTOR_SIGNATURE, mActionViewConstructorArguments);
item.setActionView(actionView);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值