1

snackbar not working inside popupwindow. Here is the code what i have tried. first i created popupwindow

    //popupwindow
    LayoutInflater inflater = (LayoutInflater) AddMembersToEventActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
    View editFamilyPopupView = inflater.inflate(R.layout.activity_edit_family_member_popup,null);
    final RelativeLayout parentLayout = (RelativeLayout)editFamilyPopupView.findViewById(R.id.parent_layout);
    final PopupWindow editFamilyPopupWindow = new PopupWindow(
            editFamilyPopupView,
            RelativeLayout.LayoutParams.MATCH_PARENT,
            RelativeLayout.LayoutParams.MATCH_PARENT
    );
    ....

calling snakcbar method

    showSnackBar(getString(R.string.rashi_msg),parentLayout);
    ...

showing snackbar

    //show snackbar
public void showSnackBar(String message,ViewGroup viewGroup){
    Snackbar snackbar = Snackbar
            .make(viewGroup, message, Snackbar.LENGTH_LONG);

    snackbar.show();
}
    //...
    //exception
    02-20 13:52:20.747 20762-20762/divine.calcify.com.divine E/AndroidRuntime: FATAL EXCEPTION: main
                                                                       Process:
                                                                       java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.view.ViewGroup.getContext()' on a null object reference
                                                                           at android.support.design.widget.Snackbar.<init>(Snackbar.java:188)
                                                                           at android.support.design.widget.Snackbar.make(Snackbar.java:220)
                                                                           at divine.calcify.activities.AddMembersToEventActivity.showSnackBar(AddMembersToEventActivity.java:866)
                                                                           at divine.calcify.activities.AddMembersToEventActivity$9.onClick(AddMembersToEventActivity.java:663)
                                                                           at android.view.View.performClick(View.java:4856)
                                                                           at android.view.View$PerformClick.run(View.java:19956)
                                                                           at android.os.Handler.handleCallback(Handler.java:739)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                           at android.os.Looper.loop(Looper.java:211)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5389)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at java.lang.reflect.Method.invoke(Method.java:372)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

how to make snackbar appear above popupwindow?

Mithun Kumar
  • 595
  • 1
  • 9
  • 18

1 Answers1

0

You are getting that exception because Snackbar couldn't attach to a view.

More in details what's really happening is that Snackbar is calling getContext() on viewGroup which seems to be null and causes the exception to be raised.

p.s. Note that link points to View.getContext() but that's okay as ViewGroup inherits from View.

Sid
  • 14,176
  • 7
  • 40
  • 48