I have a RecyclerView
, and in its adapter, I have created something similar to an OnLongClickListener
, which I am calling an OnEntryLongClick
Pass your context correctly by casting it to Activity if you are calling from a Fragment.
In Kotlin,
AlertDialog.Builder(context as HomeActivity)
Change getBaseContext()
in the AlertDialog.Builder
instantiation to the current Activity
instance. For example:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
An AlertDialog
requires certain resources whose values are provided by the themes and styles attached to the Context
it uses. The Context
returned by getBaseContext()
doesn't have those attached, but the Activity
does. Indeed, whenever a Context
is needed for a UI component - e.g., Dialog
s, View
s, Adapter
s, etc. - the current Activity
is usually what you want to use.
Try putting an style for your Dialog that extends Theme.AppCompat.Light.Dialog.Alert
<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert" />
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.MyDialogTheme);
This works for me.
Greetings