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. fourinone分布式缓存研究和Redis分布式缓存研究

    最近在写一个天气数据推送的项目,准备用缓存来存储数据.下面分别介绍一下fourinone分布式缓存和Redis分布式缓存,然后对二者进行对比,以供大家参考. 1  fourinone分布式缓存特性 1 ...

  2. windows查看端口占用情况及查杀进程

    我们平时在做web开发运行web服务器或运行某个应用时会报错,提示该应用的端口号已被占用,我们可以用以下的方法解决. 解决方法一:重新为应用配置端口. 解决方法二:找到占用端口的应用并关闭该应用释放占 ...

  3. UGUI Button控件

    今天一起来学习下Button控件, Button控件其实是由Text,Button,Image组件形成的. 这里就简单介绍下Button组件 Interactable: 代表该组件是否进行交互, 我们 ...

  4. Oracle SQL函数之日期函数

    sysdate [功能]:返回当前日期. [参数]:没有参数,没有括号 [返回]:日期 SQL> SELECT SYSDATE FROM DUAL; SYSDATE ----------- // ...

  5. centos上node.js的安装

    CentOS 下安装 Node.js 1.下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v0.10.24为例: cd /usr/lo ...

  6. 查看mysql apache php nginx的编译参数

    查看mysql编译参数: cat /usr/local/mysql/bin/mysqlbug|grep configure 查看apache编译参数: cat /usr/local/apache2/b ...

  7. 【HeadFirst 设计模式总结】1.策略模式

    1.书中举了一个鸭子类的设计,有些会飞或者会叫,有些不会飞可能也不会叫,用继承则导致不该有的功能通过继承而继承了下来,使用接口则代码无法做到最大程度的重用.进而引出设计原则1:找出应用中可能需要变化之 ...

  8. .NET Printer(打印)详细分析

    如果你是一名开发人员,就不应该不知道.NET Framework.它的作用在编程人员眼中是非常强大的..NET Framework打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的 ...

  9. HDU 1065 - I Think I Need a Houseboat

    又是恶心人的水题 圆周率取3.1415926就啥事没有.. #include <iostream> #include <cstdio> #include <cmath&g ...

  10. AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表

    见归档项目ListViewDemo.zip. 基本步骤如下: 1.创建主布局文件,里面包含一个ListView元素. <RelativeLayout xmlns:android="ht ...