无法解析构造函数 ArrayAdapter(android.content.Context,int,java.lang.String[],java.lang.String,java.lang.String)

cannot resolve constructor ArrayAdapter(android.content.Context,int,java.lang.String[],java.lang.String,java.lang.String)

您好,我正在使用 ArrayAdapter 在微调器中显示默认文本,但我不明白错误

cannot resolve constructor ArrayAdapter(android.content.Context,int,java.lang.String[],java.lang.String,java.lang.String).

任何人都可以告诉我这件事,请帮助我我对 java 编码不太了解。

 public class UneCon extends Fragment {

    private Spinner fromDetails, toDetails;
    private EditText fromInput, toInput;


    public static UneCon setArguments(int position) {
        UniqueConverter uniqueConverter = new UniqueConverter();
        Bundle args = new Bundle();
        args.putInt("position", position);
        uniqueConverter.setArguments(args);
        return uniqueConverter;
    }

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


        onInitVies(view);
        int position = getArguments().getInt("position");

        switch (position) {
            case 0:
                setAdapter(getResources().getStringArray(R.array.temperatureform), "Celsius", "Fahrenheit");

                break;
            case 1:
                setAdapter(getResources().getStringArray(R.array.weightform), "Kilograms", "Grams");

                break;

 return view;

    }


    private void setAdapter(String[] spinnerItems, String fromDefaultText, String toDefaultText) {

        fromDetails.setAdapter(new ArrayAdapter<String>(getContext(), R.layout.spinner_item, spinnerItems, fromDefaultText, toDefaultText));//here it getting error//
    }

    private void onInitVies(View view) {
        fromDetails = (Spinner) view.findViewById(R.id.fromSpinner);
        toDetails = (Spinner) view.findViewById(R.id.toSpinner);

        fromInput = (EditText) view.findViewById(R.id.fromInput);
        toInput = (EditText) view.findViewById(R.id.toInput);
    }
}

getContext()更改为getActivity()

以下是android中的四种数组适配器。

 ArrayAdapter(Context context, int resource)
Constructor
    ArrayAdapter(Context context, int resource, int textViewResourceId)
Constructor
    ArrayAdapter(Context context, int resource, T[] objects)
Constructor
    ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
Constructor
    ArrayAdapter(Context context, int resource, List<T> objects)
Constructor
    ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
Constructor 

希望对您有所帮助。

不确定你想用 fromDefaultTexttoDefaultText 做什么。您不需要传递它(除非您有特定用途并使用自定义适配器)。目前

改变

fromDetails.setAdapter(new ArrayAdapter<String>(getContext(), R.layout.spinner_item, spinnerItems, fromDefaultText, toDefaultText));

fromDetails.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, spinnerItems));

你见过Doc吗?

ArrayAdapterclass中有6种构造函数。 并且有 2 个构造函数的最大参数为 4。而您当前传递的是 5 个参数..

具有最大参数数量的 2 个构造函数是:

ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)

ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)

我们不确定您目前正在尝试做什么。我建议你初始化 ArrayAdapter 将你当前的初始化转换成上面的..