public final class Manual extends Fragment
のonCreateView
にあるフラグメントの1つにある文字列配列からスピナーの値を設定しようとしています。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.manual, container, false);
String [] values =
{"Time at Residence","Under 6 months","6-12 months","1-2 years","2-4 years","4-8 years","8-15 years","Over 15 years",};
Spinner spinner = (Spinner) v.findViewById(R.id.spinner1);
ArrayAdapter<String> LTRadapter = new ArrayAdapter<String>(this.getActivity(), Android.R.layout.simple_spinner_item, values);
LTRadapter.setDropDownViewResource(Android.R.layout.simple_dropdown_item_1line);
spinner.setAdapter(LTRadapter);
return inflater.inflate(R.layout.manual, container, false);
}
コードでエラーは発生しませんが、スピナーが設定されません。スピナーは値なしで空白のままです。私のコードがスピナーを設定しない理由について何かアイデアはありますか?
問題は、設定したビューではなく、新しいビューを返すことでした。そうしなければならなかった return v;
そしてそれはうまくいきました。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.manual, container, false);
String [] values =
{"Time at Residence","Under 6 months","6-12 months","1-2 years","2-4 years","4-8 years","8-15 years","Over 15 years",};
Spinner spinner = (Spinner) v.findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), Android.R.layout.simple_spinner_item, values);
adapter.setDropDownViewResource(Android.R.layout.simple_dropdown_item_1line);
spinner.setAdapter(adapter);
return v;
}