首页 > 解决方案 > 当我从图库中选择图像时应用程序如何停止

问题描述

现在,我尝试为照片上传应用程序制作一个应用程序。

今天我上传图片后成功重新上传图片文件。

但是有一个大问题。

问题就在这里

1.

在此处输入图像描述

2.

在此处输入图像描述

3.

在此处输入图像描述

  1. (由于本站的上传能力,我无法上传最后一个图片文件)

这是情况。当我按下按钮重新上传图像时,主活动线程只是读取下一个代码

Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 2);

String title = photolist.get(position).getTv_title();
String content = photolist.get(position).getTv_word();
Uri uri = photolist.get(position).changePhotoUri(change_Uri);

photoInfo dict = new photoInfo(uri, title, content);
photolist.set(position, dict);

myAdpayer.notifyItemChanged(position);

在我选择画廊的图像之前。

因此,ImageView更改后的默认图像如绿色网格视图(3 张图片)。因此,当我再次选择重新上传按钮时,活动移动图库,然后放置后页屏幕按钮,然后ImageView屏幕在我之前选择时更改图像.....

我该如何处理这个问题?我只想一次更改图库中的图像...

这是代码。

主要活动

btn_upload.setOnClickListener(new View.OnClickListener() {//when push this button i move the gallery to pick a image 
    //photo upload first
    @Override
    public void onClick(View v) {

        Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        startActivityForResult(i, 1);

        title = edit_photo_title.getText().toString();
        content = edit_phto_content.getText().toString();
        dialog.dismiss();


    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case 1: //first image pick 
            imageUri = data.getData();
            photolist.add(new photoInfo(imageUri, "Title : " + title, "Content : " + content));
            mRecycler.setAdapter(myAdpayer);
            break;

        case 2:

            try {// reupload the image
                change_Uri = data.getData();

            } catch (Exception e) {

            }
            break;
    }
}

然后是问题代码,但这里也是主要活动,因为我通过使用接口从适配器带来了按钮。

    myAdpayer.setOnItemClickListener(new photoAdapter.OnItemClickListener() {
        @Override
        public void onItemClick(View v, final int position) {


            PopupMenu popupMenu = new PopupMenu(v.getContext(), v);
            popupMenu.getMenuInflater().inflate(R.menu.main_menu2, popupMenu.getMenu());

            popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {

                    switch (item.getItemId()) {
                        case R.id.menu3:   //reupload button id
                            Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                            startActivityForResult(intent, 2);


                            String title = photolist.get(position).getTv_title();
                            String content = photolist.get(position).getTv_word();
                            Uri uri = photolist.get(position).changePhotoUri(change_Uri);

                            photoInfo dict = new photoInfo(uri, title, content);
                            photolist.set(position, dict);

                            myAdpayer.notifyItemChanged(position);

                            break;

任何知道解决方案的人请帮助我T^T;;; 我很抱歉我的英语不好....

标签: android

解决方案


推荐阅读