J'ai le code suivant. Je veux que onItemSelectedListener place la valeur de la chaîne sélectionnée dans store_id pour un traitement ultérieur. J'ai utilisé Toast pour l'examiner parce que je ne peux pas mettre une montre sur l'écouteur et store_id est null par défaut. Le fileur montre mes différentes cordes, mais disparaît lorsqu'on clique dessus. Des idées? Je ne peux pas imaginer mon problème est d'avoir tout le code dans ce fragment ensemble ... output right before clicking on a storeComment puis-je obtenir l'élément cliqué par spinner de l'onItemSelectedListener dans ce fragment?
public class ChooseStoreFragment extends Fragment implements AdapterView.OnItemSelectedListener {
ArrayList<String> store_array = new ArrayList<>();
String store_id;
//implementing the AdapterView.OnItemSelectedListener
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String user_store_id = parent.getItemAtPosition(position).toString();//doesn't show up in toast
store_id = parent.getSelectedItem().toString();//doesn't show up in toast
Toast.makeText(getActivity(), user_store_id + "=user_store_id.", Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
Toast.makeText(parent.getContext(),"Nothing selected",Toast.LENGTH_SHORT).show();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View thisView = inflater.inflate(fragment_choose_store, container, false);
final Spinner spinner = (Spinner) thisView.findViewById(R.id.stores_spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this.getContext(),android.R.layout.simple_spinner_dropdown_item,store_array);
spinner.setAdapter(adapter);
AdapterView.OnItemSelectedListener mListener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
store_id = parent.getSelectedItem().toString();
} //still never shows up in toast
@Override
public void onNothingSelected(AdapterView<?> parent) {
Toast.makeText(getActivity(), "none found = user_store_id.", Toast.LENGTH_SHORT).show(); //still nothing
}
};
spinner.setOnItemSelectedListener(mListener);
Vous avez mis en place deux 'AdapterView.OnitemSelectedListener'. Lequel veut-tu? – BakaWaii
Le premier. La deuxième mise en œuvre était juste une tentative de plus de localité étant un problème !? –