2013-06-27 52 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