Android ArrayAdapter构造函数未定义
下面的代码给出了这个错误:构造函数ArrayAdapter(TrainingDetails,int,String[])未定义。如何纠正?请帮忙。在这里,我试图检索所选微调器的值并将其存储在另一个字符串中Android ArrayAdapter构造函数未定义,android,Android,下面的代码给出了这个错误:构造函数ArrayAdapter(TrainingDetails,int,String[])未定义。如何纠正?请帮忙。在这里,我试图检索所选微调器的值并将其存储在另一个字符串中 package com.example.fragments; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup
package com.example.fragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
import com.example.R;
public class TrainingDetails extends BaseFragment
{
View view;
private EditText nameEdt;
private Spinner trainingTypes;
private Spinner trainerProfile;
String data1[] = {"1", "2", "3"};
String data2[] = {"a", "b", "c"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
view=inflater.inflate(R.layout.training_details, container,false);
nameEdt = (EditText) view.findViewById(R.id.name_edt);
trainingTypes = (Spinner) view.findViewById(R.id.trainingtypes_spn);
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data1);
adapter_state.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
trainingTypes.setAdapter(adapter_state);
trainingTypes.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
int index = arg0.getSelectedItemPosition();
String selectedItem = data1[index];
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
}
});
trainerProfile = (Spinner) view.findViewById(R.id.trainerprofile_spn);
return view;
}
package com.example.fragments;
导入android.os.Bundle;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.Toast;
导入android.widget.AdapterView.OnItemSelectedListener;
导入com.example.R;
公共类TrainingDetails扩展BaseFragment
{
视图;
私有编辑文本名为edt;
私人纺纱机培训类型;
私人纺纱机培训公司;
字符串data1[]={“1”、“2”、“3”};
字符串数据2[]={“a”、“b”、“c”};
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态)
{
视图=充气机。充气(R.layout.training\u详细信息,容器,错误);
nameEdt=(EditText)view.findViewById(R.id.name\u edt);
trainingTypes=(微调器)view.findViewById(R.id.trainingTypes\u spn);
ArrayAdapter_state=新的ArrayAdapter(这是android.R.layout.simple_微调器_项,数据1);
adapter\u state.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
培训类型。设置适配器(适配器状态);
trainingTypes.setOnItemSelectedListener(新的OnItemSelectedListener())
{
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、内部arg2、长arg3)
{
int index=arg0.getSelectedItemPosition();
字符串selectedItem=data1[index];
}
@凌驾
未选择公共无效(AdapterView arg0)
{
}
});
trainerProfile=(微调器)视图.findViewById(R.id.trainerProfile\u spn);
返回视图;
}
}改变
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data1);
ArrayAdapter\u state=新的ArrayAdapter(这是android.R.layout.simple\u微调器项目,data1);
到
ArrayAdapter\u state=新的ArrayAdapter(getActivity(),android.R.layout.simple\u微调器\u项,数据1);
在片段中,您将使用
getActivity()
获得上下文对于ArrayAdapter
您需要传递Context
改变这个
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data1);
ArrayAdapter\u state=新的ArrayAdapter(这是android.R.layout.simple\u微调器项目,data1);
进入
ArrayAdapter\u state=新的ArrayAdapter(getActivity(),android.R.layout.simple\u微调器\u项,数据1);
数组适配器的第一个参数是上下文
对象,而不是片段的实例。改变
new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data1);
new ArrayAdapter(这是android.R.layout.simple\u微调器项目,数据1);
与
newarrayadapter(getActivity(),android.R.layout.simple\u spinner\u项,data1);
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, data1);
new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data1);
new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, data1);