皂皂丶 2016-04-23 05:45 采纳率: 50%
浏览 2836

onActivityResult中的数据如何拿出来在Activity中使用

我想把里onActivityResult中文件的地址传出来给按钮点击响应里面的文件上传用但是发现不行,求大神解答一下

 Btu_shangchuan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("*/*");//设置类型
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                startActivityForResult(intent, 1);
                String path = intent.getStringExtra("path");
                final BmobFile bmobFile = new BmobFile(new File(path));
                bmobFile.uploadblock(ZuoYeShangJiao.this, new UploadFileListener() {
                    @Override
                    public void onSuccess() {
                        MyUser user = BmobUser.getCurrentUser(ZuoYeShangJiao.this, MyUser.class);
                        Homework homework = new Homework();
                        homework.setStu_Number(user.getUsername());
                        homework.setHw_class(user.getStu_class());
                        homework.setHw_course(course);
                        homework.setHomework(bmobFile);
                        homework.save(ZuoYeShangJiao.this, new SaveListener() {
                            @Override
                            public void onSuccess() {
                                Toast.makeText(ZuoYeShangJiao.this, "作业上传成功", Toast.LENGTH_SHORT).show();
                            }

                            @Override
                            public void onFailure(int i, String s) {
                                Toast.makeText(ZuoYeShangJiao.this,"作业上传失败",Toast.LENGTH_SHORT).show();

                            }
                        });
                    }

                    @Override
                    public void onFailure(int i, String s) {
                        Toast.makeText(ZuoYeShangJiao.this,"上传失败",Toast.LENGTH_SHORT).show();

                    }
                });
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK) {
            Uri uri = data.getData();
            /*String[] proj = {MediaStore.Images.Media.DATA};
            Cursor actualimagecursor = managedQuery(uri, proj, null, null, null);
            int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            actualimagecursor.moveToFirst();
            String img_path = actualimagecursor.getString(actual_image_column_index);
            File file = new File(img_path);*/
            String path = uri.toString();
            data.putExtra("path",path);
        }

        super.onActivityResult(requestCode, resultCode, data);
    }

注:Bmob类是一个云数据库的uploadbock是当中的一个文件上传方法

  • 写回答

4条回答

  • im大钊 2016-04-23 06:06
    关注

    1.在当前类创建一个全局变量:String path,在onActivityResult()方法中把获取的path赋值给全局变量,然后再onClick()方法中获取全局变量的path值,谢谢可以帮助到你。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)