2017-02-20 11 views
0

スナップバーがポップアップウィンドウ内で動作しません。ここで私が試したコードです。 は、最初のiはsnakcbar方法スナックバーがpopupwindowの上に表示されるようにする方法スナックバースナップバーをpopupwindowの上に表示する方法は?

//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) 

を示す

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

呼び出す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 
    ); 
    .... 

を作成しましたか?

+0

どこから 'showSnackBar'を呼び出していますか? – Sid

答えて

0

Snackbarがviewに接続できなかったため、この例外が発生しています。

本当に何が起こっているのか詳細でより多くのSnackbarnullのようですし、例外を発生させる原因となるviewGroupgetContext()を呼び出していることです。

p.s.リンクはView.getContext()を指していますが、これはViewGroupViewから継承されているので大丈夫です。

関連する問題