无法解析构造函数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)