Careless Me
我在百度知道上提了一个问题:
如图我在menu.xml里试图加一个search的按钮,但我从网页上复制了图中第二个item里的代码,运行的时候,这个item却总是出现在overflow(下拉菜单)里面,不出现在action bar。而我用手打出第一个item里的代码之后,却可以在action bar上显示。这是为什么?两段代码完全一样啊。
这两段代码我调了很久。最后看来看去,发现这个段代码并不是「完全一样」。
showAsAction属性之前的命名空间,一个是android,一个是app。结果就导致没有使用命名空间的下面的item无效。
那为什么其他的android打头的代码有效?来看看完整的menu头:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.larry.projecty.MainActivity" >
android对应的空间是/apk/res/android,而app对应/apk/res-auto.而android developers上,也就我复制的那段代码的来源,只用了这一个命名空间:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
我TM已经糊涂了。I don't get the fuck.好吧,我就用app做命名空间好了。草。
草。搞这些SB代码,这个JB细节搞了一晚上,结果这只是一堆错误中的一个。想弄懂所有一切,哪有那么多精力和时间??真JB累。
干。
----------------------------------------------
冷静了一会儿,想起来原来为了支持2.x系统而用自己的命名空间。
查了一下,网上说:
「这是告诉系统,showAsAction使用library的XML attributes。」
也就是说在用其他的library的时候要用自己的命名空间。
此外还有:
yourapp:actionViewClass="android.support.v7.widget.SearchView"
yourapp:actionProviderClass="android.support.v7.widget.ShareActionProvider"
我操,一箭双雕,正好解决了为什么得不到search view的问题了。
除了在xml里改命名空间,在MainActivity.java里也要改import哦,改成:
import android.support.v7.widget.SearchView;
操,好高兴。
可怜的程序狗啊。
参考:
http://blog.csdn.net/tianjf0514/article/details/13278539
Careless Me的更多相关文章
- I would I were a careless child
I would I were a careless child by George Gordon Byron 1 I would I were a careless child, still dwel ...
- [COPY] How to become a hacker
Engish version copied from here Why This Document? As editor of the Jargon File and author of a few ...
- SCI/EI期刊投稿 Reply Letter 常用格式总结
SCI/EI期刊投稿Reply Letter常用格式总结 整个论文投稿的过程中,会遇到各种问题,需要我们向主编询问或是回复.下面主要总结了responses to the comme ...
- Flume interceptor 使用注意事项
1. 在使用 Regex Filtering Interceptor的时候一个属性是excludeEvents 当它的值为true 的时候,过滤掉匹配到当前正则表达式的一行 当它的值为false的时候 ...
- Error Handling
Use Exceptions Rather Than Return Codes Back in the distant past there were many languages that didn ...
- RFID 仿真/模拟/监控/拦截/检测/嗅探器
Sound card based RFID sniffer/emulator (Too tired after recon.cx to do draw the schematics better th ...
- RFID 读写器 Reader Writer Cloner
RFID读写器的工作原理 RFID的数据采集以读写器为主导,RFID读写器是一种通过无线通信,实现对标签识别和内存数据的读出和写入操作的装置. 读写器又称为阅读器或读头(Reader).查询器(Int ...
- 2015年第4本(英文第3本):Godfather教父
2015年的第4本书,第3本英文书. 书名:Godfather ,中文书名<教父> 作者: Mario Puzo 单词数:17万 词汇量:1万 首万词不重复词数:2200(这个我不太相信) ...
- sdut 2411:Pixel density(第三届山东省省赛原题,字符串处理)
Pixel density Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Pixels per inch (PPI) or pi ...
随机推荐
- IOS 后台保持连接
当iphone应用程序进行网络编程时,切到后台后,socket连接会断掉,ios的设计就是这样. 但是好在apple公司也没有那么绝,还是有一些东西可以在后台运行的(backgroundmodes), ...
- 小贝_mysql select连接查询
select连接查询 简要: 一.union联合查询 二.左右内连接 一.union联合查询 作用: 把2次或多次查询结果合并起来 具体: (表1查询结果) union (表2查询结果) 运行: 先算 ...
- Swift的两个小窍门
一:查看Swift版本号(How do I see which version of Swift I’m using in Xcode?) 终端下输入:xcrun swift -version(in ...
- 文件另存为——Autocad.doc.SaveAs
一.前言 使用pyautocad编辑好cad图纸后,往往涉及到一个保存的问题,但是官方文档并未提及,所以只能自己来了,测试了好久,终于是找到了保存的命令和参数说明. 二.方法介绍 Autocad.do ...
- canvas转盘抽奖的实现(一)
网络上已经有了很多转盘抽奖的代码,但大多是用jQuery插件实现的,其中的原理比较难弄明白,于是自己摸索了一个.最终效果如下: // = totalTime) { stopRotation() ...
- java 文件的写入和读取
//写入操作 方法1 OutputStream f = new FileOutputStream("C:/j/j.txt"); f.write("aaaaaaa" ...
- VLC For Android Ubuntu14.04编译环境搭建
VLC多媒体播放器(英语:VLC media player,最初为VideoLAN Client.是VideoLAN计划的开放源码多媒体播放器.)支持众多音频与视频解码器及文件格式,并支持DVD影音光 ...
- 使用kbmmw 的调度事件动态显示时间
kbmmw 里面提供了强大的事件调度功能,今天简单演示一个使用调度事件在窗体上显示时间. 建立一个新工程. 放上几个控件 在窗体里面引用单元 kbmMWScheduler, 然后添加过程 unit U ...
- httpclient4 模拟访问网页 模拟登录 简单例子
JAVA后台模拟登录一个网站,获得一定权限后进一步操作. 所用的工具: Apache HttpComponents client 4.3版本 以下为代码: import org.apache.http ...
- echart地图下钻
需求:展示中国地图,鼠标点击显示对应的省份 在echart的github上下载需要的 地图文件China.js,各个省份的json文件 遇到的问题:直接在浏览器打开报错,跨域问题,用webstrom打 ...