Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们可以使用startactivityforresult将图像复制并移动到另一个文件夹吗_Java_Android_Android Intent_Image Gallery_Startactivityforresult - Fatal编程技术网

Java 我们可以使用startactivityforresult将图像复制并移动到另一个文件夹吗

Java 我们可以使用startactivityforresult将图像复制并移动到另一个文件夹吗,java,android,android-intent,image-gallery,startactivityforresult,Java,Android,Android Intent,Image Gallery,Startactivityforresult,我是android应用程序开发的新手。我有一个简单的问题。我在谷歌上搜索了一下,但找不到满意的答案。我的问题是: 我们可以使用startactivityforresult()方法将图像复制并移动到另一个文件夹中吗。如果是,那么我们如何传递要移动或复制的选定图像的位置? 感谢您的主要活动: Intent moveIntent = new Intent(this, MoveActivity.class); moveIntent.putExtra("selected_images", selected

我是android应用程序开发的新手。我有一个简单的问题。我在谷歌上搜索了一下,但找不到满意的答案。我的问题是:
我们可以使用startactivityforresult()方法将图像复制并移动到另一个文件夹中吗。如果是,那么我们如何传递要移动或复制的选定图像的位置?

感谢您的主要活动:

Intent moveIntent = new Intent(this, MoveActivity.class);
moveIntent.putExtra("selected_images", selectedImages);
startActivityForResult(moveIntent, REQUEST_CODE); // REQUEST_CODE is a unique int value within your app for this intent.
  • 创建新的ArrayList以保存选定的图像:

    ArrayList selectedImages=new ArrayList()

  • 将所有选定的图像添加到适配器中的
    selectedImages
    onClick使用:

    selectedImages.add(al_images.get(position))

  • 然后,一旦您有了所选图像的列表,构建意图和 将活动称为:

    Intent moveIntent = new Intent(this, MoveActivity.class);
    moveIntent.putExtra("selected_images", selectedImages);
    startActivityForResult(moveIntent, REQUEST_CODE); // REQUEST_CODE is a unique int value within your app for this intent.
    
  • 覆盖onActivityResult
    以接收响应:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)   {  
              super.onActivityResult(requestCode, resultCode, data);  
              // check if the request code is same as what is passed(REQUEST_CODE) 
              if(requestCode==REQUEST_CODE)  
              {  
                      if (resultCode == RESULT_OK){
                             //The called activity completed successfully. 
                             String message=data.getStringExtra("MESSAGE"); //The message passed along with result
                      }
              }
    }
    
  • 在您的
    MoveActivity
    活动中:

    Intent moveIntent = new Intent(this, MoveActivity.class);
    moveIntent.putExtra("selected_images", selectedImages);
    startActivityForResult(moveIntent, REQUEST_CODE); // REQUEST_CODE is a unique int value within your app for this intent.
    
  • 获取传递的ArrayList:

    ArrayList<model_Images> selectedImages = new ArrayList<Model_Images>(); 
    if(getIntent().getSerializableExtra("selected_images") != null)
           selectedImages = getIntent().getSerializableExtra("selected_images");
    
  • 完成后,将结果设置为调用活动:

    // Set result back to the calling activity
    Intent intent=new Intent();  
    intent.putExtra("MESSAGE",message);  // Set a message for the calling activity
    setResult(RESULT_OK,intent);  //RESULT_OK represents success result
    finish();//finishing activity
    

  • 注意:未讨论处理存储权限,需要读取/写入

    使用
    startactivityforresult()
    复制和移动图像?一点也不。阅读
    startactivityforresult
    的文档。请将问题弄清楚。您试图从何处移动图像?您指的是什么图像“位置”?RecyclerView?gridview位置,正在尝试将图像从一个文件夹移动到另一个@Vijai。因此,您希望使用startActivityForResult(意图)将该位置传递到另一个活动,将该活动中的文件移动并将结果设置为调用活动@是的,然后将文件移动到另一个活动@VijaiI刚刚选中的文件夹中。无法解析getFile()方法。我必须在Model_images.java中定义它吗?