2013-06-27 53 views
0

我正在使用片段的應用程序,我能夠從片段實現彈出式窗口,但無法實現解僱功能(獲取運行時異常)以下是我的代碼。任何人都可以幫助我確定我在這裏做錯了什麼。從片段關閉彈出窗口

代碼:

{public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle  savedInstanceState) { 

    setHasOptionsMenu(true); 
    View fragView = inflater.inflate(R.layout.newrun, container, false); 

    entcal_button = (Button)fragView.findViewById(R.id.entercal_button); 
    clear_button = (Button)fragView.findViewById(R.id.resetcal_button); 
    cal_text=(EditText)fragView.findViewById(R.id.cal_amount); 
    setuprunbuttonmethod(); 
    entcal_button.setOnClickListener(new OnClickListener(){ 
      public void onClick(View v) { 

      final PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.workoutmode_popup,null, false),650,650, true); 
      pw.showAtLocation(getView().findViewById(R.id.entercal_button),Gravity.CENTER,0,0); 
      Button dismiss_button=(Button)v.findViewById(R.id.dismiss); 
      dismiss_button.setOnClickListener(new OnClickListener(){ 
       public void onClick(View v){ 
        pw.dismiss(); 
       } 
      }); 
      } 
     });}` 
+1

請添加錯誤日誌,這將使它更容易找出... –

回答

0

問題就出在這條線

Button dismiss_button=(Button)v.findViewById(R.id.dismiss); 

你正在努力尋找視圖按鈕佈局v此行是按鈕(entcal_button)。 將v更改爲包含dismiss_button的佈局,您應該沒問題。

我會建議總是使用有意義的變量和方法名稱,因爲它有助於快速找到錯誤。很好的閱讀名字 - Clean Code

+0

是的..錯誤是完全與視圖,我創建了一個新的視圖彈出窗口,並通過該視圖有dismiss_button.Thanks很多對於乾淨的代碼閱讀,幫助我很多。 – Darshan

+0

沒問題!你能標記接受答案嗎? – Tautvydas