无法解析构造函数 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
希望对您有所帮助。
不确定你想用 fromDefaultText
和 toDefaultText
做什么。您不需要传递它(除非您有特定用途并使用自定义适配器)。目前
改变
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
将你当前的初始化转换成上面的..
您好,我正在使用 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
希望对您有所帮助。
不确定你想用 fromDefaultText
和 toDefaultText
做什么。您不需要传递它(除非您有特定用途并使用自定义适配器)。目前
改变
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
将你当前的初始化转换成上面的..