Установка спиннеров во фрагмент

Я пытаюсь установить значения для моего счетчика из массива строк в одном из моих фрагментов в onCreateView в моем public final class Manual extends Fragment:

@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);

}

Я не получаю ошибок с моим кодом, однако он не устанавливает счетчик. Счетчик остается пустым без значений. Любые идеи о том, почему мой код не устанавливает счетчик?


person Nick    schedule 02.09.2012    source источник


Ответы (1)


Проблема заключалась в том, что я возвращал новый вид, а не тот, который я установил. Мне пришлось 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;

}
person Nick    schedule 02.09.2012
comment
Я буквально только что сделал ту же ошибку, что и вы, спасибо за публикацию этого. - person Hounddog; 27.12.2017
comment
Мне потребовался один день, чтобы выяснить v.findViewById для представления, большое спасибо @Nick - person Abdullah; 06.04.2020