onRequestPermissionsResult not being called in fragment if defined in both fragment and activity

前端 未结 15 1318
余生分开走
余生分开走 2020-11-28 22:14

I have a fragment in which I have recyclerview and setting data in this recyclerview using recyclerview adapter.

Now, I am having a button in the adapter\'s list ite

15条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-28 22:38

    This accepted answer is not worked for me, so i found my own solution, explained below:

    1.First i created a method, in fragment:

    public static void MyOnRequestPermissionResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults){
            if (requestCode == 1 && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Log.d(TAG, "Permission: true");
            } else {
                Log.d(TAG, "permission: false");
            }
    }
    

    2.And then called it from its underlying activity:

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if(requestCode ==1){
            SignupFragment.MyOnRequestPermissionResult(requestCode, permissions, grantResults);
        }
    }
    

    And it is working ...

提交回复
热议问题