My logic doesn't work only when there is not permission for Call, If i have provided permission it works perfectly fine.
I am trying to invoke Snackbar inside my recycler view, Reason being one of my button in recycler view has to invoke Call facility. Hence i am checking for Manifest.permission.CALL_PHONE permission and displaying a snakbar if there is no permission provided. While invoking the below code
private void showSnackbar(MyViewHolder v , final int mainTextStringId, final int actionStringId,
View.OnClickListener listener) {
Snackbar.make(v.snackBarLayout,
context.getString(mainTextStringId),
Snackbar.LENGTH_INDEFINITE)
.setAction(context.getString(actionStringId), listener).show();
}
java.lang.IllegalArgumentException: No suitable parent found from the given view. Please provide a valid view.
However i am trying to parse my Viewholder form
@Override
public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) {
....
....
....
showSnackbar(holder,R.string.permission_rationale, android.R.string.ok,
new View.OnClickListener() {
@Override
public void onClick(View view) {
// Request permission
startCallPermissionRequest();
}
});
}
Response to suggested duplicate
I don't think this is a duplicate question, I tried changing snackbar to findviewbyId, It is not able to fetch that view to display. view comes only from ViewHolder.