Mam fragment, w którym mam przegląd recyklingu i ustawienia danych w tym widoku recyklingu przy użyciu adaptera recyklingu.
Teraz mam przycisk w elemencie listy adaptera, po kliknięciu którego muszę sprawdzić uprawnienie READ_EXTERNAL_STORAGE w systemie Android, aby uzyskać nowy model uprawnień w systemie Android.
Utworzyłem nową funkcję we fragmencie tego adaptera, aby sprawdzić, czy zezwolenie zostało udzielone, czy nie, i poprosić o pozwolenie, jeśli nie zostało już przyznane.
Przekazałem MyFragment.this jako parametr w adapterze i wywołałem metodę fragmentu po kliknięciu przycisku w adapterze.
Użyłem poniższego kodu, aby wywołać requestPermission fragmentem.
if(ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED){
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
ConstantVariables.READ_EXTERNAL_STORAGE);
}
Zastąpiłem onRequestPermissionsResult
metodę we fragmencie, używając poniższego kodu:
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case ConstantVariables.READ_EXTERNAL_STORAGE:
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, proceed to the normal flow.
startImageUploading();
} else {}
Ale nie jest wywoływana, zamiast metody onRequestPermissionsResult tego działania jest wywoływana.
Zdefiniowałem tę samą metodę onRequestPermissionsResult również w aktywności nadrzędnej fragmentu i jest ona wywoływana.
Nie mogę usunąć metody onRequestPermissionsResult działania, ale chcę wywołać metodę onRequestPermissionsResult fragmentu, gdy żądam pozwolenia od fragmentu. W jaki sposób mogę to zrobić? Czy robię coś źle, pomóż mi, jeśli ktoś ma tutaj pomysł.