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

无法解析构造函数ArrayAdapter(android.content.Context,int,java.lang.String[],java.lang.String,java.lang.String),android,android-arrayadapter,android-spinner,Android,Android Arrayadapter,Android Spinner,您好,我正在使用ArrayAdapter在微调器中显示默认文本,我不理解错误 无法解析构造函数ArrayAdapter(android.content.Context,int,java.lang.String[],java.lang.String,java.lang.String) 有谁能告诉我这方面的情况吗?请帮助我,我对java编码知之甚少 public class UneCon extends Fragment { private Spinner fromDetails, to

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

无法解析构造函数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);
    }
}
公共类UneCon扩展片段{
从细节到细节的私人微调器;
从输入到输出的私有编辑文本;
公共静态UneCon设置参数(int位置){
UniqueConverter UniqueConverter=新的UniqueConverter();
Bundle args=新Bundle();
参数putInt(“位置”,位置);
uniqueConverter.setArguments(args);
返回唯一转换器;
}
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图=充气机。充气(R.layout.fragment\u uniquelayout,container,false);
onInitVies(视图);
int position=getArguments().getInt(“position”);
开关(位置){
案例0:
setAdapter(getResources().getStringArray(R.array.temperatureform),“摄氏度”、“华氏度”);
打破
案例1:
setAdapter(getResources().getStringArray(R.array.weightform),“千克”,“克”);
打破
返回视图;
}
私有void setAdapter(字符串[]spinnerItems,字符串fromDefaultText,字符串到DefaultText){
fromDetails.setAdapter(新的ArrayAdapter(getContext(),R.layout.spinner_项,spinnerItems,fromDefaultText,toDefaultText));//此处显示错误//
}
私有void onInitVies(视图){
fromDetails=(微调器)view.findViewById(R.id.fromSpinner);
toDetails=(微调器)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 
ArrayAdapter(上下文,int资源)
建造师
ArrayAdapter(上下文、int-resource、int-textViewResourceId)
建造师
ArrayAdapter(上下文、int资源、T[]对象)
建造师
ArrayAdapter(上下文上下文、int资源、int textViewResourceId、T[]对象)
建造师
ArrayAdapter(上下文、int资源、列表对象)
建造师
ArrayAdapter(上下文上下文、int资源、int textViewResourceId、列表对象)
建造师

希望这将对您有所帮助。

不确定您想对从DefaultText和从DefaultText到DefaultText的
执行什么操作。您不需要传递它(除非您有特定的使用它和使用自定义适配器)。现在

改变

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

fromDetails.setAdapter(新的ArrayAdapter(getActivity(),android.R.layout.simple_spinner_dropdown_项,spinnerItems));
你有没有看过这部电影

类中有6种类型的构造函数。 有两个构造函数的最大参数为4。您当前正在传递5个参数

参数最多的两个构造函数是:

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

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

Google It。我在这里找到它:-您使用的构造函数无效。请看,我有两个微调器,因此通过使用fromdefaultText和to,我将默认文本设置为spinners@sun您不需要将这两个值传递给
ArrayAdapter
。您可以将它们传递给
setSpinner
方法,并对它们采取任何操作,但不传递
ArrayAdapter
。只需将您的代码替换为我的代码即可。谢谢@rohit,那么我们如何传递默认文本?@sun查看本文。它有多种方法来实现这一点t谢谢,这对我有帮助我不知道你是如何修改的?你的
从DefaultText
到DefaultText
是什么?它们用于将默认文本设置为我的微调器
ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)