过去几天,面对这个问题。我知道 NullPointerException 。 片段发布崩溃。
爪哇
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_tab_home,container,false);
final Dialog alertDialog = new Dialog(getActivity());
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
alertDialog.setContentView(R.layout.dialog_viewpager);
alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
alertDialog.show();
viewPager = (ViewPager)alertDialog.findViewById(R.id.view_pager);
// layouts of all welcome sliders
// add few more layouts if you want
layouts = new int[]{
R.layout.welcome_slide1,
R.layout.welcome_slide2,
R.layout.welcome_slide3,
}
myViewPagerAdapter = new ViewPagerAdapter();
viewPager.setAdapter(myViewPagerAdapter);
RelativeLayout rl_header_thirdObj=(RelativeLayout)alertDialog.findViewById(R.id.rl_header_third);
//Here// rl_header_thirdObj.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
alertDialog.dismiss();
}
return view;
}
崩溃
at dalvik.system.NativeStart.main(Native Method)引起: java.lang.NullPointerException at com.fragment.FragmentHome.onCreateView
表示行 rl_header_thirdObj.setOnClickListener 。
FYI
RelativeLayout rl_header_thirdObj 显示在 welcome_slide3.xml 中。
我可以知道实现目标的正确方法是什么?有没有人遇到这个问题?非常感谢任何帮助。
答案 0 :(得分:1)
此处Relativelayout
不属于alertDialog
视图的一部分。
所以代替:
RelativeLayout rl_header_thirdObj=(RelativeLayout)alertDialog.findViewById(R.id.rl_header_third);
使用:
RelativeLayout rl_header_thirdObj=(RelativeLayout)view.findViewById(R.id.rl_header_third);