Итак, я нахожусь внутри фрагмента, и я хочу взять изображение из галереи и установить CircleImageView.Я начинаю намерение и правильно выбираю изображение, но на onActivityResult изображение не устанавливается.Изображение src по умолчанию остается.Это код
gment_layout
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/photo"
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/ic_launcher_background"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
/>
класс фрагмента
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
LayoutInflater lf = getActivity().getLayoutInflater();
view = lf.inflate(R.layout.fragment_profile,container,false);
mContext = getActivity();
mProfilePhoto = (CircleImageView) view.findViewById(R.id.profile_photo);
view.findViewById(R.id.profile_photo).setOnClickListener(this);
return view;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.profile_photo:
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
try {
i.putExtra("return-data", true);
startActivityForResult(
Intent.createChooser(i, "Select Picture"), 0);
}catch (ActivityNotFoundException ex){
ex.printStackTrace();
}
break;
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0 && resultCode == Activity.RESULT_OK){
try {
Bundle bundle = data.getExtras();
Bitmap bitmap = bundle.getParcelable("return-data");
mProfilePhoto.setImageBitmap(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
}
}
, и действие, которое реализует этот фрагмент, имеет свой onActivityResult с помощью только вызова функции super ();
Кроме того, после загрузки изображения будет ли оно автоматически изменяться в соответствии с круговым изображением?если нет, как я должен делать?Заранее спасибо