zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    一道小学数学题
    Ubuntu下使用git提交代码至GitHub
    C#几个小知识点
    C#中巧用#if DEBUG 进行调试
    使用 HPC Pack 为 Azure 中的 Windows HPC 工作负荷创建和管理群集的选项
    使用 Chef 自动执行 Azure 虚拟机部署
    在 Azure 中管理 Windows 虚拟机的可用性
    什么是 Azure 中的虚拟机规模集?
    从 Azure 下载 Windows VHD
    如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像
  • 原文地址:https://www.cnblogs.com/zhouxiuquan/p/4337016.html
Copyright © 2011-2022 走看看