您好我使用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);
}
}
答案 0 :(得分:0)
不确定要对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));
答案 1 :(得分:0)
你见过Doc吗?
ArrayAdapter类中有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
将当前的初始化转换为上面的初始化..
答案 2 :(得分:-1)
将array (size=1)
1 =>
array (size=4)
'data' => string '15' (length=2)
更改为getContext()
以下是android中的四种类型的数组适配器。
getActivity()
希望这会对你有所帮助。