andriod的简单用法2
1、在Activity中使用menu
//创建菜单项
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//点击其中一个菜单中时触发该事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
2、销毁活动,即从堆栈中去掉该Activity,并不一定是退出应用。
finish();
3、活动被回收了怎么办
当Activity处于停止状态即:onstop状态时有可能被系统回收。当用户back到该Activity的时候不执行onRestart,而是执行onCreate方法。 而该Activity有可能有一些中间状态或者数据就会丢失了。解决办法:
复写:onSaveInstanceState(Bundle outState)回调方法。该方法会在Activity被回收之前调用。
将需要保存的数据放到Bundle中。
当这个页面再次被打开时执行onCreate方法,其中的参数Bundle中就会有值(其他情况下一般是null)。如果不是null,就可以把Bundle中保存到额数据恢复回来。
4、去掉标题栏
使用:requestWindowFeature(Window.FEATURE_NO_TITLE);
见很多书上和网上问答,这个方法调用的时机是:
protected void onCreate(Bundle savedInstanceBundle) {
super.onCreate(savedInstanceBundle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//requestWindowFeature要位于setContentView之前,否则会报:requestFeature() must be called before adding content 异常
setContentView(layout.login);
}
但是我按照这样的写法写了之后还是报这个异常,查询了好久,可能跟继承的父类相关吧,上边的写法应该是继承父类Acivity,而我这要兼容低办法,继承ActionBarActivity类。
改成如下写法运行成功。将requestWindowFeature方法放到super.OnCreate之前运行成功
protected void onCreate(Bundle savedInstanceBundle) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceBundle);
setContentView(layout.login);
}
//该问题没有解决,虽然上述办法不报错,但是标题栏还在显示 再查资料吧 http://stackoverflow.com/questions/16939814/android-util-androidruntimeexception-requestfeature-must-be-called-before-add
andriod的简单用法2的更多相关文章
- andriod的简单用法1
1.从一个Activity跳转到另一个Activity,使用Intent. 在按钮的onClick中如下写法: public void Login(View view) { Intent intent ...
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- TransactionScope简单用法
记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
随机推荐
- Project Euler 76:Counting summations
题目链接 原题: It is possible to write five as a sum in exactly six different ways: 4 + 13 + 23 + 1 + 12 + ...
- iOS开发--即时通讯
什么是环信? 1.环信是一个第三平台,提供即时通信(IM–Instant Messaging )的服务 2.环信是在XMPP的基础上进行二次开发 3.环信在网络上传输的数据也是XML 4.使用环信,不 ...
- Winsock完成端口模型-Delphi代码
原文出处 <Windows网络编程技术>第8章 完成端口模型 由于原书附的是C代码,我把其翻译成Delphi代码. 其中winsock2.pas在delphi中不带,要另外下载http:/ ...
- 一个不错的log4j.properties例子
# Set root logger level to WARN and append to stdout #在开发环境下日志级别要设置成DEBUG,生产环境设置成info或error log4j.ro ...
- IntelliJ IDEA集成svn
IntelliJ IDEA如何集成svn呢? 1. 首先配置下载并配置svn软件,推荐使用SlikSvn. 下载地址https://sliksvn.com/download/,下载最近版本
- Spring配置概述
1.Spring容器 1)要使应用程序中的Spring容器成功启动,需要以下三方面的条件都具备: · Spring架构的类包都已经放在应用程序的类路径下: · 应用程序为Spring提供完备的Bean ...
- UDP protocol
Characteristics of the UDP protocol The UDP protocol (User Datagram Protocol) is a connectionless or ...
- ubuntu下android源码下载
步骤一: 首先保证你的ubuntu系统电脑可以顺利游览google,我们是将etc下 hosts替换掉,推荐hosts: http://laod.cn/hosts/2015-google...host ...
- 1156. Two Rounds(dfs+背包)
1156 求出每个联通块的黑白块数 然后再背包 二维的背包 要保证每个块都得取一个 写的有些乱.. #include <iostream> #include<cstdio> # ...
- ie下jquery ajax 80020101错误的解决方法
<script language="javascript"> <!-- function checkAll(name,isCheck){ ...