知识点笔记
来源:互联网 发布:乐视tv网络电视 投影 编辑:程序博客网 时间:2024/05/18 17:41
- Null的类型转换
- 输入法的弹出和关闭
Null的类型转换
static class Sample{}public static void main(String[] args){ Sample obj1 = null; System.out.println((obj1 instanceof Sample)+","+(Sample)obj1);//false,null Sample obj2 = new Sample(); System.out.println((obj2 instanceof Sample)+","+(Sample)obj2);//true,obj2.hashCode()}
结论:null可以转换为任意类型,但是instanceof返回false
输入法的弹出和关闭
对于一般情况而言,以下代码就够用了
//弹出输入法 public static void showKeyboard(View v) { try { InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(v, 0/*InputMethodManager.SHOW_FORCED*/); } catch (Throwable e) { } } //关闭输入法 public static void hideKeyboard(View v) { try { InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive()) { imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0); } } catch (Throwable e) { } }
但是有时候我们可能在关闭输入法时发现上述方法无效,这种情况在dialog包含的输入框表现的情况更多,我们监听到了dialog dismiss的事件,但是dismiss后输入法依然好好的躺那里无感。。
这时候需要关注下调用hideKeyboard的时机,请注意需要在dialog真正dismiss之前调用此方法,因为一旦window关闭,则调用hideSoftInputFromWindow时无法获取正确的windowToken,因为对应的window已经不存在了,所以系统无法正确关闭输入法,这时候需要在关闭窗体触发时(比如关闭某个关闭按钮),调用此方法完成关闭,这是其中一种可能,值得尝试;
阅读全文
0 0
- 知识点笔记
- j2se笔记-面试知识点
- 最近知识点笔记
- ogre小知识点笔记
- JDBC知识点笔记
- Oracle知识点笔记(一)
- Oracle知识点笔记(二)
- Oracle知识点笔记(三)
- 小的知识点笔记
- python 小知识点笔记
- ios笔记,常用知识点
- java基础知识点笔记
- BOM知识点笔记
- android笔记 零碎知识点
- lua相关知识点笔记
- rabbit知识点汇总笔记
- 网站制作知识点笔记
- swift基础知识点笔记
- 创造你的数字货币(3)--发布UNIX安装程序
- 文件操作工具类
- 批量新增数据
- JS正则表达式
- webuploader 百度上传组件
- 知识点笔记
- 一些C/C++框架和库
- 高负载微服务系统的架构演进之路
- HBase WAL 解析
- PAT (Advanced Level) Practise 1090 Highest Price in Supply Chain (25)
- MSSQL语句
- ActiveMQ消息传送机制以及ACK机制详解
- 最简单的代码
- ORA-00911 字符无效 怎么也找不到原因时 可以用下面的方法