微调器未填充 ArrayAdapter
Spinner not filled with ArrayAdapter
所以我的微调器没有以编程方式填充:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_first_boot__language_selection, container, false);
setupSpinner(view, R.id.firstLanguageSpinner, R.array.languagesSpinner);
setupSpinner(view, R.id.secondLanguageSpinner, R.array.languagesSpinner);
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_first_boot__language_selection, container, false);
}
private void setupSpinner(View view, int spinnerResourceId, int arrayResourceId) {
Spinner spinner = view.findViewById(spinnerResourceId);
spinner.setSelection(1);
//Adapts strings into CharSequence.
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this.getContext(), arrayResourceId, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
但是我一辈子都弄不明白为什么不呢?我会通过 XML 来填充它,但是这段代码不包括我添加的其他函数。例如,在 setupSpinner 中,我添加了 onClickListener 事件,但它不起作用。
在 onCreateView
中你应该使用 return view;
,而不是 return inflater.inflate...
你正在做的是膨胀片段的第二个副本,它没有用微调器数据初始化。
所以我的微调器没有以编程方式填充:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_first_boot__language_selection, container, false);
setupSpinner(view, R.id.firstLanguageSpinner, R.array.languagesSpinner);
setupSpinner(view, R.id.secondLanguageSpinner, R.array.languagesSpinner);
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_first_boot__language_selection, container, false);
}
private void setupSpinner(View view, int spinnerResourceId, int arrayResourceId) {
Spinner spinner = view.findViewById(spinnerResourceId);
spinner.setSelection(1);
//Adapts strings into CharSequence.
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this.getContext(), arrayResourceId, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
但是我一辈子都弄不明白为什么不呢?我会通过 XML 来填充它,但是这段代码不包括我添加的其他函数。例如,在 setupSpinner 中,我添加了 onClickListener 事件,但它不起作用。
在 onCreateView
中你应该使用 return view;
,而不是 return inflater.inflate...
你正在做的是膨胀片段的第二个副本,它没有用微调器数据初始化。