我正在开发一个使用片段的应用程序,我能够从片段实现弹出窗口但无法实现解散功能(获取运行时异常)以下是我的代码。任何人都可以帮我确定我在这里做错了什么。
代码:
{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();
}
});
}
});}`
答案 0 :(得分:0)
问题出在这一行
Button dismiss_button=(Button)v.findViewById(R.id.dismiss);
您正尝试在按钮布局中查找视图,因为此行是v
按钮(entcal_button
)。
将v
更改为包含dismiss_button
的布局,您应该没问题。
我建议总是使用有意义的变量和方法名称,因为它有助于快速找到错误。关于名字的好读 - Clean Code。