问题描述
- android中应用编译报错
-
一个带下拉列表的应用,在编译的时候报错:The constructor ArrayAdapter(LayoutNext, int, String[]) is undefined
不知道应该怎么解决?
我的实现代码:
public class LayoutNext extends Fragment implements OnClickListener,OnItemSelectedListener{ TimePicker timepicker; private Spinner spinner_next; public ArrayAdapter<String> adapter; public static Fragment newInstance(Context context) { LayoutNext f = new LayoutNext(); return f; } public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { ViewGroup root = (ViewGroup) inflater.inflate(R.layout.layout_next, null); timepicker = (TimePicker) root.findViewById(R.id.timePicker1); timepicker.setIs24HourView(true); timepicker.setCurrentHour(0); timepicker.setCurrentMinute(0); String[] items_next = { "Next", "From to"}; spinner_next = (Spinner) root.findViewById(R.id.sp_next); spinner_next.setOnItemSelectedListener(this); // Here I get the error ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.simple_spinner_item, items_next); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_next.setAdapter(adapter); return root; }
解决方案
Fragment
不是context
的子类,所以不能使用this。只要换成getActivity()
就行。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(),
android.R.layout.simple_spinner_item,
items_next);
时间: 2024-07-29 02:04:25