当线性布局单击片段上的事件时出现NullPointerException



我有一个片段,当我单击线性布局时,我想显示一个对话框,但当我试图找到白痴的LinearLayout时,我遇到了一个NullPointer异常,这是我的代码,有人可以帮我吗?感谢

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


    View view = inflater.inflate(R.layout.preferencias, container, false);

    LinearLayout idioma_layout= (LinearLayout) getView().findViewById(R.id.idioma_layout);
    idioma_layout.setOnClickListener(new OnClickListener()
    {
     @Override
     public void onClick(View v)
     {
         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setTitle(R.string.language_prompt);
            builder.setItems(R.array.languages, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                    // Do something with the selection
                    switch (item) {
                        case 0:
                         Toast.makeText(getActivity(), "Español", Toast.LENGTH_LONG).show();
                         savePreferences("idioma","es");
                         break;
                        case 1:
                          Toast.makeText(getActivity(), "Inglés", Toast.LENGTH_LONG).show();
                          savePreferences("idioma","en");
                          break;
                    }
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
     } 
    }); 
    setHasOptionsMenu(true);

    return view;

不能在onCreateView()中使用getView()方法。视图尚未创建,在这种情况下getView()返回null。

不过,您已经必须使用这种方法进行查看(您只是将其扩展到view变量中(:

View view = inflater.inflate(R.layout.preferencias, container, false);
LinearLayout idioma_layout= (LinearLayout) view.findViewById(R.id.idioma_layout);

最新更新