Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

301
Visualizações
Selecting Spinner Item doesen't trigger onItemSelected - method

I have a settings fragment with 2 spinners in it. I'm not able to execute code written into the onItemSelected-method. There are no errors or exceptions.

I searched many similiar questions but none of the solutions worked for me. I have no idea what to try next.

public class SettingsFragment extends Fragment implements AdapterView.OnItemSelectedListener {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        //Getting the instance of Spinner and applying OnItemSelectedListener on it
        View view = inflater.inflate(R.layout.fragment_settings, container, false);

        Spinner spinnerBetrag = (Spinner) view.findViewById(R.id.spinnerBetrag);
        Spinner spinnerDetails = (Spinner) view.findViewById(R.id.spinnerDetails);

        spinnerBetrag.setOnItemSelectedListener(this);
        spinnerDetails.setOnItemSelectedListener(this);

        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_settings, container, false);
    }


    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
          //>>Problem: Code within this method is never beeing executed<<
    }

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

    }

}
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Change your return statement in onCreateView to

return view;

Your current return statement is inflating a whole new view

over 4 years ago · Santiago Trujillo Relatório

0

Change your onCreateView() method to return the view

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    //Getting the instance of Spinner and applying OnItemSelectedListener on it
    View view = inflater.inflate(R.layout.fragment_settings, container, false);

    Spinner spinnerBetrag = (Spinner) view.findViewById(R.id.spinnerBetrag);
    Spinner spinnerDetails = (Spinner) view.findViewById(R.id.spinnerDetails);

    spinnerBetrag.setOnItemSelectedListener(this);
    spinnerDetails.setOnItemSelectedListener(this);

    return view;  // add this instead
}

Also for your onItemSelected() add

 public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

     Spinner spinner = (Spinner) parent;
     if(spinner.getId() == R.id.spinnerBetrag)
     {
       Log.d("Spinner 1","selected");                 
     }
     else if(spinner.getId() == R.id.spinnerDetails)
     {
        Log.d("Spinner 2","selected");    
     }

}
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda