Spinner в Fragment

У меня есть один Spinner в одном Fragment, что, кликнув в статье Spinner он приносит меня к другому Fragment. Но когда я выполняю app, он уходит прямо в первую статью Fragment. Он не показывает меня Fragment что у него есть Spinner, если не, что разом открывает мне первый выбор Spinner.

Я добавляю код Spinner

public class Bajar_Peso extends Fragment {

public Bajar_Peso() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view;
    view = inflater.inflate(R.layout.fragment_bajar__peso, container, false);

    Spinner spinnerA , spinnerB;
    String[] Frutas;
    String[] Vegetales;

    Button secreto;

    secreto=(Button)view.findViewById(R.id.btn_secreto);

    spinnerA = (Spinner)view.findViewById(R.id.spinner_Frutas);
    spinnerB=(Spinner)view.findViewById(R.id.spinner_Vegetales);

    Frutas = getResources().getStringArray(R.array.Bjar_PesoA);
    Vegetales=getResources().getStringArray(R.array.Bjar_PesoB);

    //SPINNER PARA LAS FRUTAS.
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(),android.R.layout.simple_list_item_1,Frutas);
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerA.setAdapter(arrayAdapter);

    //SPINNER PARA LOS VEGETALES
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(),android.R.layout.simple_list_item_1,Vegetales);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerB.setAdapter(adapter);


    //SELECCION DE LAS FRUTAS
           //SELECCION DE LOS VEGETALES
    spinnerB.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {


        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {


           if(position==0)
           {
               getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.content_main,new BP_Zanahorias()).commit();
           }


        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });


    secreto.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

    return view ;
}
}
1
задан 24.01.2017, 09:38
0 ответов

Твоя проблема - что onItemSelectedтакже он работает, когда вид создан. Простой способ, чтобы это исправлять, состоял бы в том, чтобы добавлять маркирующий тип boolean во фрагменте и игнорировать первый вызов:

boolean inicio = true;

и в listener:

       if(position==0)
       {
           if (!inicio){
               getActivity().getSupportFragmentManager().
               beginTransaction().
               replace(R.id.content_main,new BP_Zanahorias()).commit();
           } else {
               inicio=false;
           }
       }
1
ответ дан 03.12.2019, 17:31
  • 1
    Я это попробовал, и он показывает мне Layout, который содержит Spinner, но во время выбирания статьи не функционирует –  24.01.2017, 20:28
  • 2
    Ты сделал depuració n? Podrí схвати размещать Log в listener и в onCreateView фрагмента. –  24.01.2017, 21:34

Теги

Похожие вопросы