zoukankan      html  css  js  c++  java
  • Android:Activity & Intent

     
    2.2 Activity的基本用法
    • 隐藏标题栏
      • 在AndroidManifest.xml中配置,作为全局配置,在所有Activity范围内生效
        • android:theme="@android:style/Theme.NoTitleBar"
      • 在代码中配置,必须在setContentView()前调用该方法,只在当前Activity生效
        • requestWindowFeature(Window.FEATURE_NO_TITLE);
      • 在style.xml中设置
     
     
    2.3 Intent的应用场景
    • Activity
    • Service
    • BroadcastReceiver
     
    2.3.1 显式Intent
    • Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
    • startActivity(intent);
    • 明确指定了下一个Activity
     
    2.3.2 隐式Intent
         代码中创建Intent对象时并不明确指向具体的Activity。设定该Intent对象的action/category/data,在startActivity(intent)时,系统会调用在AndroidManifest.xml中注册的Activity,<intent-filter>里指定的action/category/data,必须与代码的设定完全一致。
    • action
      • Intent intent = new Intent(Intent.ACTION_VIEW);
      • 此处的ACTION_VIEW即为action。每个Intent对象只有一个action,可自定义
      • Intent.ACTION_VIEW响应打开浏览器的动作
      • Intent.ACTION_DIAL响应调用“拨号”动作
    • category
      • intent.addCategory(“MY_CATEGORY”);
      • 通过addCategory()来添加category,每个Intent对象可设置多个category,可自定义
    • data
      • 更精确地指定该Activity能响应的Intent类型,可设置多个data
      • android:scheme
      • android:host
      • android:mimeType
      • etc.
     
    2.3.4 Activity之间传递数据(设Activity A向B传递数据)
    • 通过Intent传递,形式为key-value,如HashMap对象
      • intent.putExtra(“my_key", value);
    • A中将startActivity()更换为startActivityForResult(),并传入requestCode作为A接收到其他Activity返回的数据时的标识(flag)
      • startActivityForResult(intent, requestCode);
    • B中通过取得A传递过来的Intent对象取得数据
      • Intent intent = getIntent();
      • String data = intent.getStringExtra(“my_key");
    • 如果B要返回数据给A,需要添加returnCode
      • Intent intent = new Intent();
      • intent.putExtra(key, value);
      • setResult(RESULT_OK, intent);
      • finish();
    • A在onActivityResult()对B回传的数据进行处理
      • 根据requestCode使用switch语句进行处理
      • 可以根据resultCode进行判断(RESULT_OK/RESULT_CANCEL)
    • B在点击返回键时传递数据
      • 覆写onBackPressed();
      • super.onBackPressed();一定要注释掉或置于最后,否则会在这一步直接返回
     
     
  • 相关阅读:
    libSVM的数据格式
    libSVM 简易使用手册
    python3使用csv模块读写csv文件
    sklearn
    windows下pip升级到8.1.2
    Elasticsearch学习(一)————简单命令
    InnoDB undo log物理结构的初始化
    【java_设计模式】建造者模式
    POI原生导入读取EXCEL
    websocket 进阶!netty框架实现websocket达到高并发
  • 原文地址:https://www.cnblogs.com/lawrencechen/p/4824931.html
Copyright © 2011-2022 走看看