1、Menu.FIRST在reference中描述为:First value for group and item identifier integers.我们可以理解为ID设置的最小数值。

2、setDefaultKeyMode (int mode) 用来设置一个Activity的默认的按键模式, 

也就是指这种情况,当Activity中发生了一些按键事件,但是这些事件没有被任何控件Listen到时(截获时),

系统应该如何处理这些按键事件。

mode一共有五种

  • DEFAULT_KEYS_DISABLE //直接丢弃,这种情况你把键盘按穿了也不会有系统理你
  • DEFAULT_KEYS_DIALER    //将键盘事件传入拨号器进行处理
  • DEFAULT_KEYS_SHORTCUT //将键盘输入作为当前窗体上注册的快捷键,进行快捷键处理
  • DEFAULT_KEYS_SEARCH_LOCAL //将键盘输入作为搜索内容,进行本地搜索,如果本地没有实现自定义搜索,则使用全局搜索
  • DEFAULT_KEYS_SEARCH_GLOBAL //将键盘输入作为搜索内容,进行全局搜索

3、intent相关函数解析:

      Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。利用Intent所实现的软件复用的粒度是Activity/Service,比函数复用更高一些,另外耦合也更为松散。

settype

使用该函数表示要查找文件的mime类型(如*/*),这个和组件在manifest里定义的相对应,但在源代码里:

 public Intent setData(Uri data) {
mData = data;
mType = null;
return this;
}

作用是将type设为null。

 setdata  

该函数的参数是uri,所以要将数据通过该函数传递时,记得要把数据转化为uri,如Uri.fromFile(new File("/mnt/sdcard/"))。

 public Intent setType(String type) {
mData = null;
mType = type;
return this;
}

要同时设置data和type的话只能用函数setdataandtype

 public Intent setDataAndType(Uri data, String type) {
mData = data;
mType = type;
return this;
}

4、setOnCreateContextMenuListener

     所有的View 都可以监听setOnCreateContextMenuListener事件,长按都会弹出上下文菜单

View.setOnCreateContextMenuListener(OnCreateContextMenuListener l)

    或者在activity里面注册view的上下文菜单
           registerForContextMenu(View view)

    重写  
           public void onCreateContextMenu(ContextMenu menu, View v,
                   ContextMenuInfo menuInfo){ 
                    super.onCreateContextMenu(menu, v, menuInfo); 
           }
 
          @Override
          public boolean onContextItemSelected(MenuItem item){
                 if (item.getItemId() == 0){ 
                     //处理点击上下文菜单事件
                 }
          }
          处理对应的事件。
         --------------------------------------------------------------------------      
          长按ListView中的一项item弹出上下文菜单
          只需要监听ListView的 setOnCreateContextMenuListener事件即可
          然后重写对应的方法,同上面的一样。
 
          在onContextItemSelected中获取 ListView中item对象
          @Override
          public boolean onContextItemSelected(MenuItem item){
                  AdapterContextMenuInfo itemInfo = (AdapterContextMenuInfo)item.getMenuInfo();
                        // adapter    ListView 中用到的适配器
          Object itemValue = adapter.getItem(itemInfo.position);
                      //获取到item对象后就可以进行任何操作了
               
          }  
        ----------------------------------------------------------------------------

          单击View弹出上下文菜单
 
          View.setOnCreateContextMenuListener(OnCreateContextMenuListener l)
                  View.setOnClickListener(OnClickListener l)
 
          需要同时监听view的单击事件和上下文菜单事件
          然后在View的onClick调用 View.showContextMenu()方法。
 
          如下
          View.setOnClickListener(new OnClickListener(){ 
 
          @Override
          public void onClick(View v){
                View.showContextMenu(); 
          }
         );
 
        然后重新对应的方法,同上一个一样。
 
 
        这样,不论单击或者长按,都可以弹出上下文菜单。
 
        只要能监听到view对应的事件,应该都可以弹出上下文菜单,不过没有经过测试。

5、解决:在Activity中为什么要用managedQuery()

在实际做项目时,有时数据库经常会报cursor not close的warning,有的cursor你可以手动关闭,但是有一些就不可以了,比如当前是个listActivity,

他的adapter是个cursorAdapter,这里的cursor就不能关掉,当然你可以在onDestroy中做关闭的操作,可是我比较习惯把cursor定义为局部变量,不是全局可见的,

这样的话你就不能在onDestroy中关闭了。

后来就查看源代码,发现manageQuery可以为你维护这个cursor。在你退出activity时为你自动关闭

用getContentResolver().query(...)时有时会报cursor not close的warning。

android 边学边记 2015.10.16的更多相关文章

  1. 2016年10月31日 星期一 --出埃及记 Exodus 19:16

    2016年10月31日 星期一 --出埃及记 Exodus 19:16 On the morning of the third day there was thunder and lightning, ...

  2. [转]Android 学习资料分享(2015 版)

    转 Android 学习资料分享(2015 版) 原文地址:http://www.jianshu.com/p/874ff12a4c01 目录[-] 我是如何自学Android,资料分享(2015 版) ...

  3. 10.16 NOIP模拟赛

    目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...

  4. Android应用开发相关下载资源(2015/08/27更新)

    Android应用开发相关下载资源   官方终于发布了Android Studio正式版,Android Studio将会成为推荐使用的主要Android开发工具.   (1)Android SDK ...

  5. 2019.10.16&17小结

    话说也蛮久没写小结了,主要这两次考试失分严重,还是总结下吧. 10.16 T1 小奇挖矿2 100/0 [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿石交易市 ...

  6. [NOIP2018模拟赛10.16]手残报告

    [NOIP2018模拟赛10.16]手残报告 闲扯 炉石乱斗模式美滋滋啊,又颓到好晚... 上来T2先敲了树剖,看T1发现是个思博DP,然后没过大样例,写个暴力发现还是没过大样例!?才发现理解错题意了 ...

  7. [Android开发学iOS系列] Auto Layout

    [Android开发学iOS系列] Auto Layout 内容: 介绍什么是Auto Layout. 基本使用方法 在代码中写约束的方法 Auto Layout的原理 尺寸和优先级 Auto Lay ...

  8. 背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画)

    [源码下载] 背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画) 作者:webabcd 介绍背水一战 Windows 10 之 动画 PopInThemeA ...

  9. 4分钟apache自带ab压力测试工具使用: 2015.10.4

    2015.10.44分钟apache自带ab压力测试工具使用:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一下部 ...

随机推荐

  1. Pros and Cons of T4 in Visual Studio 2008

    Oleg Sych - » Pros and Cons of T4 in Visual Studio 2008 Pros and Cons of T4 in Visual Studio 2008 Po ...

  2. Struts2 学习笔记 10 Result部分 part1

    1.关于Result我们首先来学习一下结果类型 result type. 先来看struts.xml. struts.xml <?xml version="1.0" enco ...

  3. Quartz 开源的作业调度框架

    Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度.本 ...

  4. CodeForces 10D. LCIS 最长公共上升子序列模板题 + 打印路径

    推荐一篇炒鸡赞的blog. 以下代码中有打印路径. #include <algorithm> #include <iostream> #include <cstring& ...

  5. Eclipse关联Java源代码

    一个很简单的技巧,不多说,直接贴图 1. 2 . 3.选择你jdk下的src.zip就可以了.搞定!

  6. NSDictionary初始化,使用@{}方法,插入nil时会报空指针异常

    由于今天在NSDictionary初始化的时候出现Crash异常,故记录一下,避免下次再犯. 在Objective-C中,NSDictionary初始化的方法有很多种 方法1: [NSDictiona ...

  7. SQL case when

    jack    1tom    2anni    3poly    4 select buyer_name, ( case ' then '东' ' then '南' ' then '西' ' the ...

  8. hdu2429Ping pong

    Problem Description N(3<=N<=20000) ping pong players live along a west-east street(consider th ...

  9. [Linked List]Partition List

    Total Accepted: 53879 Total Submissions: 190701 Difficulty: Medium Given a linked list and a value x ...

  10. [Effective Modern C++] Item 2. Understand auto type deduction - 了解auto类型推断

    条款二 了解auto类型推断 基础知识 除了一处例外,auto的类型推断与template一样.存在一个直接的从template类型推断到auto类型推断的映射 三类情况下的推断如下所示: // ca ...