Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 615|回复: 0

Q&A: onActivityResult 传值问题

[复制链接]

该用户从未签到

发表于 2011-10-22 18:52:56 | 显示全部楼层 |阅读模式
//这个方法是对SD卡上指定的文件进行裁剪

public void startPhotoZoom(String imagePath) {
    //获得裁剪图片的路径文件
  File file = new File(imagePath);
  //获得裁剪图片的名字
originName = file.getName();
  System.out.println(originName);
  //获得裁剪图片的uri
  Uri uri=Uri.fromFile(file);
  //调用intent跳转的裁间页面
     Intent intent = new Intent("com.android.camera.action.CROP");  
     //传入裁剪图片的路径uri和需要裁剪的格式
     intent.setDataAndType(uri, ChooseName.IMAGE_UNSPECIFIED);
     //可裁剪状态
     intent.putExtra("crop", "true");     
     // aspectX aspectY 是宽高的比例     
     intent.putExtra("aspectX", 480);     
     intent.putExtra("aspectY", 320);     
     // outputX outputY 是裁剪图片宽高     
     intent.putExtra("outputX", 480);     
     intent.putExtra("outputY", 320);
     intent.putExtra("return-data", true);     
     startActivityForResult(intent, ChooseName.PHOTORESOULT);     
}   

上面的 originName 是个全局变量, System.out.println(originName);
能输出它的值


protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  //super.onActivityResult(requestCode, resultCode, data);
  System.out.print("----->0" + originName);
  if(requestCode == ChooseName.PHOTORESOULT) {
   Bundle extras = data.getExtras();
   System.out.print("----->1" + originName);
   if(extras != null) {
    //获得裁剪图片
    System.out.println("----->2" + originName);
    String test = extras.getString("test");
    System.out.println("----->" + test);
             Bitmap photo = extras.getParcelable("data");
             File file = new File(ChooseName.FOLDER_PATH + originName);
            try {
    file.createNewFile();
    FileOutputStream out = new FileOutputStream(file);
    photo.compress(Bitmap.CompressFormat.JPEG, 100, out);
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   }
  }
}


问题出来了,在onActivityResult函数中originName的值为空。其实我刚开始写好的时候,都不为空,都能运行。后来我改了一下就不行了,改回去还是不行了。我有试了  在第一个方法中 传值    Bundle b=data.getExtras(); //data为B中回传的Intent
5 String str=b.getString("str1");   结果onActivityResult还是接收的值为空。请大家帮帮忙啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 13:48 , Processed in 0.358698 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表