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

问题描述

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是当中的一个文件上传方法

解决方案

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

解决方案二:

强烈建议你买郭霖的第一行Android代码看一下,这种问题太基础了,还是静下心来多看书。

解决方案三:

Activity中得到新打开Activity关闭后返回的数据(onActivityResult和setResult方法的使用)

解决方案四:

赵林的答案可以,但是我想补充一点,加一个handler,
1. 首先设置按钮不可点击(或者做判断),因为你的图片路径是返回之后才有的,
2. 然后在handler的方法中设置按钮为可用,并且给路径变量赋值

解决方案五:

可以直接调用的,你再试试

时间: 2024-09-20 00:30:04

android-onActivityResult中的数据如何拿出来在Activity中使用的相关文章

修改按钮-Android中adapter数据传递出去与控制activity中按钮状态

问题描述 Android中adapter数据传递出去与控制activity中按钮状态 1C 求大神告知,我在adapter中获得了数据,是一个List 现在我在包适配器的这个activity中要用这个List如何将数据传递到activity中去呢?或者说我在activity中如何调用这个数据呢?还有一个问题,我在adapter中 viewHolder.imageIsCheck.setTag(position); convertView.setOnClickListener(new Content

json-从 PHP MySQL 中检索数据然后传到视图列表中

问题描述 从 PHP MySQL 中检索数据然后传到视图列表中 我想从 PHP MySQL 中检索一个数据,然后传到试图列表中.我使用的下面的代码,但是还是没把数据放到 List View 中,如何改这个问题. 贴出我的代码,大家看看是哪儿出错了. Activity Codes public class View extends Activity{ // Progress Dialog // Creating JSON Parser object JSONParser jParser = new

Excel中的数据如何导入到Access数据库中?

  现在大多数人记录数据都是用excel,但是一些程序员需要将Excel中的数据导入Access数据库中,编写一个另外的程序,但是对于初学者来说这还是挺艰难的,那么现在我就为大家讲解如何将Excel中的数据导入到Access数据库中. 找到自己需要做改变的Excel和Access 为了避免自己以后的,所以第一个步骤看似无关重要,但是却缺一不可.确保Excel中的数据导入数据库不要出错,不然一切白费. 新建数据库,开始执行操作 在数据库上方有一个外部数据,点击外部数据存在一个"导入Excel表格功

struct-结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

问题描述 结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗 //定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; //读出文件函数//void read() {FILE *fp;int in;if((fp=fopen(""C:UsersAdminist

js中如何处理数据,使其在页面中换行显示

问题描述 js中如何处理数据,使其在页面中换行显示 查出数据是一段string类型的数字,如(26,110,9745,1964,8357,2654,45698,45698,12564,45894,45698,56455,45698,51236,21598,45875,54687,456987),显示在表格中的一列中,显然是显示不下的,现在判断长度大于6时,在表格的这列中换行显示,这个操作写在js中,怎么实现?(如果有不清楚的地方,请指出,,,) 解决方案 你是想在表格的当前列中换行显示吗? 可以

用extjs4.1的写的store中的数据加载不到textfiled中,求解啊!

问题描述 用extjs4.1的写的store中的数据加载不到textfiled中,求解啊! var store2 = Ext.create('Ext.data.Store', { model: 'Computer', remoteSort: true, proxy: { type: 'ajax', url: 'computer/FindComByRId.do', reader: { type: 'json', root: 'rcomputer' } } }); 在panel中的 items:[

insert语句在pl/sql中替换数据可以执行,但是java中却报错

问题描述 insert语句在pl/sql中替换数据可以执行,但是java中却报错 java语句: public int initiating(String title, String content, String numberLimit,String fkCustomerId) { String pkId = "44"; String sql="insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,num

急求:如何把datagridview 表格中的数据写入到SQL数据库表中?

问题描述 如何把datagridview表格中的数据写入到SQL数据库表中?请知道的给我点详细的代码让我学习一下,谢谢了, 解决方案 解决方案二:例:自己更换连接对象.表名就可以了.DimsqladpAsNewSqlClient.SqlDataAdapterDimsqlcomAsNewSqlClient.SqlCommandDimsqlcbdAsNewSqlClient.SqlCommandBuildersqlcom.Connection=DBsqlcom.CommandText="select

asp-从U8中导出数据到excel怎么在代码中绑定每个excel单元格的值?

问题描述 从U8中导出数据到excel怎么在代码中绑定每个excel单元格的值? 在U8中导出数据到excel中,怎么在代码中绑定每个单元格的数据?要先做好一个excel模板吗?重点是咋绑定赋值,求大神指点下,帮帮忙,跪谢