如何在 popBackStack() 之后显示用 Picasso 加载的图像

How to show image loaded with Picasso after popBackStack()

我有第一个片段,它有一个用 Picasso 以这种方式加载的 imageView:

 ExifInterface exif = null;
                float rotate = 0;

                try
                {
                    exif = new ExifInterface(absolutePath);
                } catch (IOException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,
                        ExifInterface.ORIENTATION_UNDEFINED);
                switch (orientation) {
                    case ExifInterface.ORIENTATION_NORMAL:
                        rotate = 0;
                        break;
                    case ExifInterface.ORIENTATION_ROTATE_270:
                        rotate = 270;
                        break;
                    case ExifInterface.ORIENTATION_ROTATE_180:
                        rotate = 180;
                        break;
                    case ExifInterface.ORIENTATION_ROTATE_90:
                        rotate = 90;
                        break;
                }


                Picasso.with(getActivity())
                        .load(mMediaUri)
                        .resize(1280, 1280)
                        .rotate(rotate)
                        .centerCrop()
                        .transform(new RoundedTransformation())
                        .into(photo);

当我按下 next 按钮时,我会执行此操作并转到第二个片段:

      Bundle bundle = new Bundle();
                              bundle.putLong("primaryKey", primaryKey);
                              bundle.putString("uri", String.valueOf(mMediaUri));
                              bundle.putString("registration", registrationET.getText().toString().trim());
                              bundle.putString("makemodel", makemodelET.getText().toString().trim());
                              bundle.putString("manifacturer", manifacturerET.getText().toString().trim());
                              bundle.putString("category", categoryET.getText().toString().trim());
                              bundle.putString("class", classET.getText().toString().trim());

                              Fragment fragment = new AddAircraftSecondPartFragment();
                              fragment.setArguments(bundle);

                              FragmentManager manager = getActivity().getSupportFragmentManager();
                              manager.beginTransaction().replace(R.id.content_main, fragment).addToBackStack(null).commit();

当我想按回键或单击 Back 按钮时会出现此问题:EditTextTextView 上的值是正确的,因为我使用了这个:

android:freezesText="true"

但我没有在 ImageView 中看到用 Picasso 加载的以前的图像。 这是我用来 popBackStack():

的代码
 private void pressBackButton()
{
    FragmentManager manager = getActivity().getSupportFragmentManager();

    manager.popBackStack();

}

所以我的问题是:

  1. 如何解决 ImageView 的问题?
  2. popBackStack() 之后的上一个片段中调用的方法是什么?

感谢您的回答

1) 您可以将图像加载移动到片段的重写 onResume() 方法。

2) onResume() 在片段为"resumed"

时被调用