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();
                }
            });
            }
        });}`
4

1 回答 1

0

问题出在这一行

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

您正在尝试在 Button 布局中查找视图,v因为此行是按钮 ( entcal_button)。更改v为包含的布局,dismiss_button您应该没问题。

我建议始终使用有意义的变量和方法名称,因为它有助于快速找到错误。关于名称的好读物 -清洁代码

于 2013-06-28T01:24:28.703 回答