Java ArrayAdapter中的createFromResources()无法应用于微调器

Java ArrayAdapter中的createFromResources()无法应用于微调器,java,android,spinner,android-spinner,Java,Android,Spinner,Android Spinner,在微调器上创建阵列适配器时遇到问题。我不知道怎么跟你们解释,但人们说一张照片能说出1000个字。因此,我提供了我的问题的图片。请帮帮我,我真的不知道该怎么办 这是我的课 public class SettingFragment extends Fragment{ private View rootView; Spinner spinner; ArrayAdapter<CharSequence> adapter; public SettingFragment(){ //r

在微调器上创建阵列适配器时遇到问题。我不知道怎么跟你们解释,但人们说一张照片能说出1000个字。因此,我提供了我的问题的图片。请帮帮我,我真的不知道该怎么办

这是我的课

public class SettingFragment extends Fragment{

private View rootView;
Spinner spinner;
ArrayAdapter<CharSequence> adapter;

public SettingFragment(){
    //required empty public constructor
}

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

    spinner = (Spinner)rootView.findViewById(R.id.spinner);
    adapter = ArrayAdapter.createFromResource(this, R.array.select_font_size, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    return rootView;
}
公共类设置片段扩展片段{
私有视图rootView;
纺纱机;
阵列适配器;
公共设置片段(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
rootView=充气机。充气(R.layout.fragment\u设置,容器,false);
微调器=(微调器)rootView.findViewById(R.id.spinner);
adapter=ArrayAdapter.createFromResource(这个,R.array.select\u font\u size,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
返回rootView;
}
}

这是我的string.xml

<string-array name="select_font_size">
    <item>Small</item>
    <item>Default</item>
    <item>Large</item>
    <item>Larger</item>
</string-array>

小的
违约
大的
更大的
这是我的xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">


<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spinner"
    android:layout_gravity="center_horizontal" />


尝试使用应用程序上下文或实例化片段的活动上下文

adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.select_font_size, android.R.layout.simple_spinner_item);


如果您确信通过调用
getActivity()
将获得一个非空的活动实例,我建议将适配器的创建移到
onActivityCreated
回调中:

public class SettingFragment extends Fragment{

private View rootView;
Spinner spinner;
ArrayAdapter<CharSequence> adapter;

public SettingFragment(){
    //required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    rootView = inflater.inflate(R.layout.fragment_setting, container, false);
    spinner = (Spinner)rootView.findViewById(R.id.spinner);

    return rootView;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    adapter = ArrayAdapter.createFromResource(getActivity(), R.array.select_font_size, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
    }
}
公共类设置片段扩展片段{
私有视图rootView;
纺纱机;
阵列适配器;
公共设置片段(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
rootView=充气机。充气(R.layout.fragment\u设置,容器,false);
微调器=(微调器)rootView.findViewById(R.id.spinner);
返回rootView;
}
@凌驾
ActivityCreated上的公共无效(@Nullable Bundle savedinStateCState){
super.onActivityCreated(savedInstanceState);
adapter=ArrayAdapter.createFromResource(getActivity(),R.array.select\u font\u size,android.R.layout.simple\u spinner\u item);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
}
}
public class SettingFragment extends Fragment{

private View rootView;
Spinner spinner;
ArrayAdapter<CharSequence> adapter;

public SettingFragment(){
    //required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    rootView = inflater.inflate(R.layout.fragment_setting, container, false);
    spinner = (Spinner)rootView.findViewById(R.id.spinner);

    return rootView;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    adapter = ArrayAdapter.createFromResource(getActivity(), R.array.select_font_size, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
    }
}