2017-07-31 70 views
0

我正在嘗試做一個PopupWindow來解釋我的應用程序,但是對於看似簡單的事情我有很多困難。我嘗試過各種YouTube視頻,並在這裏查看幾乎所有類似的帖子,但我還沒有任何運氣。如果有人能指出我的缺陷,那會很棒。彈出式窗口繼續崩潰

我的最終目標是讓PopupWindow和on create方法一起出現,但是現在我包含了一個Button來啓動它,因爲所有的教程都包含了一個。

protected void onCreate(Bundle savedInstanceState) { 
    //BUILDING THE POP UP WINDOW ON CLICK OF HELP BUTTON 

    help=(Button)findViewById(R.id.help); 
    help.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      layoutInflater=(LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE); 
      View customView= layoutInflater.inflate(R.layout.activity_instructions, null); 

      popUpWindow=new PopupWindow(
        customView, 
        RelativeLayout.LayoutParams.WRAP_CONTENT, 
        RelativeLayout.LayoutParams.WRAP_CONTENT 
      ); 
      myButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        popUpWindow.dismiss(); 
       } 
      }); 
     } 
    }); 

任何幫助將不勝感激。如果我需要包含更多信息,請不要問。我是新來的機器人,這是我的第一個大應用程序,以保持我的希望。

感謝 The link to my log

07-30 23:32:07.062 9273-9273/my.myCompany.vinay.diversityformulaapplication E/AndroidRuntime: FATAL EXCEPTION: main 
                           Process: my.myCompany.vinay.diversityformulaapplication, PID: 9273 
                           java.lang.RuntimeException: Unable to start activity ComponentInfo{my.myCompany.vinay.diversityformulaapplication/my.myCompany.vinay.diversityformulaapplication.EntryScreen}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 
                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947) 
                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008) 
                            at android.app.ActivityThread.-wrap14(ActivityThread.java) 
                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) 
                            at android.os.Handler.dispatchMessage(Handler.java:102) 
                            at android.os.Looper.loop(Looper.java:154) 
                            at android.app.ActivityThread.main(ActivityThread.java:6688) 
                            at java.lang.reflect.Method.invoke(Native Method) 
                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) 
                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) 
                           Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 
                            at my.myCompany.vinay.diversityformulaapplication.EntryScreen.onCreate(EntryScreen.java:37) 
                            at android.app.Activity.performCreate(Activity.java:6912) 
                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900) 
                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)  
                            at android.app.ActivityThread.-wrap14(ActivityThread.java)  
                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)  
                            at android.os.Handler.dispatchMessage(Handler.java:102)  
                            at android.os.Looper.loop(Looper.java:154)  
                            at android.app.ActivityThread.main(ActivityThread.java:6688)  
                            at java.lang.reflect.Method.invoke(Native Method)  
                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)  
                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)  
+0

你的日誌文件在哪裏? –

+0

如何獲取日誌文件? – bobthebuilder

+0

請參閱[本教程](https://www.javatpoint.com/android-popup-menu-example)。 – Abhi

回答

0

myButton的爲空在這裏。
你錯過了這個

myButton = (Button)customView.findViewById(R.id.myButtonId);