Android 如何将活动创建为片段?

Android 如何将活动创建为片段?,android,android-layout,android-fragments,android-button,Android,Android Layout,Android Fragments,Android Button,这是代码。但是有错误。 错误行已标记。错误为nullpoinerexception。有人能帮我吗 public class SettingFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View setting_layout = inflater.inflate(R

这是代码。但是有错误。 错误行已标记。错误为nullpoinerexception。有人能帮我吗

public class SettingFragment extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View setting_layout = inflater.inflate(R.layout.setting_layout, container, false);


        Button buttonClickChangeArea = (Button) setting_layout.findViewById(
                R.id.Button_setting_settingarea);
 <=error==> buttonClickChangeArea.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                Intent intent = new Intent(getActivity(), SetAreaActivity.class);
                // Bundle extras = new Bundle();
                // intent.putExtras(extras);
                getActivity().startActivity(intent);

            }
        });

        return setting_layout;

    }

    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }


}
公共类设置片段扩展片段{
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图设置\u布局=充气机。充气(R.layout.setting\u布局,容器,false);
按钮按钮ClickChangeArea=(按钮)设置\u layout.findViewById(
R.id.按钮\设置\设置区域);
buttonClickChangeArea.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent Intent=新的Intent(getActivity(),SetAreaActivity.class);
//Bundle extras=新Bundle();
//意图.临时演员(临时演员);
getActivity().startActivity(意图);
}
});
返回设置和布局;
}
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
}
}

谢谢

尝试重命名您的视图。它与布局的名称相同,因此从

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

必须确保您的按钮位于setting_layout.xml文件中,id为Button_setting_settingarea


还要确保您的SetAreaActivity已在manifest.xml文件中注册。

错误是什么?是否在清单中定义SetAreaActivity?NPE是因为
按钮ICKChangeArea
为空;因此,请检查布局中是否确实存在id为
按钮\u设置\u设置区域的视图。如果没有堆栈跟踪,也可能是意图为空。我认为启动活动不需要
getActivity()
,请更改
getActivity()。startActivity(意图)
起始触觉(意图)和重试名称可能会冲突。这就是为什么.View可以有名称setting\u layout,而且它的布局名称也可以有名称setting\u layout。@PiyushGupta是的,你说得对,但你确定这会导致冲突吗?因为我不认为so@Shayanpourvatan可能是的。因为我看不到任何其他的错误。我在回答中还提到了所有其他问题。
View view = inflater.inflate(R.layout.setting_layout, container, false);

Button buttonClickChangeArea = (Button) view.findViewById(
            R.id.Button_setting_settingarea);