zoukankan      html  css  js  c++  java
  • activity间的传值

    1.值由A.class传递到B.class
    A.class中:

    01Intent intent = new Intent(); 
    02 //设置传递方向  
    03intent.setClass(A.this,B.class);  
    04//绑定数据  
    05intent.putExtra("username1",username);  
    06intent.putExtra("userpwd1"userpwd); 
    07 /*或者绑定成一捆数据 
    08Bundle data = new Bundle(); 
    09data.putString("username1",username); 
    10data.putString("userpwd1",userpwd);
    11intent.putExtras(data); 
    12*/  
    13//启动activity  
    14this.startActivity(intent);  


    B.class中:

    1Intent intent = getIntent();  
    2//获取数据  
    3String username = intent.getStringExtra("username1");  
    4String userpwd = intent.getStringExtra("userpwd1");  
    5/* Bundle data = intent.getExtras(); 
    6String username = intent.getString("username1"); 
    7String userpwd = intent.getString("userpwd1"); */

     2.除了A.class可以向B.class传值外,B.class也可以返回值

     A.class中

     this.startActivity(intent);

     改为this.startActivityFroResult(intent,1);//1为请求码

     B.class中

     对传过来的intent对象赋新值

    1intent.putExtra("username2",username2);  
    2intent.putExtra("userpwd2",userpwd2); 
    3this.setResult(1,intent);  
    4this.finish();//结束焦点


    A.class中重写

    1@Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ 
    2 super.onActivityResult(requestCode,resultCode,data);  
    3 if(resultCode==1)  
    4
    5 //可从data中取出值  
    6}  
    7}

     A.class中取出B.class中intent传过来的值

     3.intent.setClass(A.this,B.class)的另一种写法

    在manifest.xml中B的Activity中加入

    1<intent-filter>
    2 
    3<action android:name="com.showB">//这里可以随便写
    4 
    5<category android:name = "android.intent.category.DEFAULT">
    6 
    7</intent-filter>

    那么A中就可以直接写

    intent.setAction("com.showB");

    来代替

    intent.setClass(A.this,B.class);

    这也就提示了我们利用intent-filter可以实现其他很多功能


    程序中调用其它程序的Activity

    1 Intent intent = new Intent(Intent.ACTION_MAIN);
    2 ComponentName componentName = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");
    3 intent.setComponent(componentName);
    4   
    5 startActivity(intent);
    "com.android.settings"是要打开的程序包名,"com.android.settings.WirelessSettings"是要打开的Activity。
  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/shihao/p/2713052.html
Copyright © 2011-2022 走看看