Android - Spinner + setOnClickListener
Donc, je veux attribuer un Spinner OnClick, mais j'obtiens l'erreur suivante
java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
J'en ai besoin pour recueillir des données lorsque je clique sur la touche de navigation, puis l'utiliser plus tard.
Je sais que j'ai fait avant, mais j'ai perdu le code. Googlé pour la réponse, je n'ai pas trouver quelque chose qui fonctionne.
Si cela aide, je suis en utilisant pagerview mise en page.
Voici mon code:
public class DATA extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (container == null) {
return null;
}
ScrollView GPU_LAYOUT = (ScrollView)inflater.inflate(R.layout.gpu, container, false);
final TextView higher_than =(TextView) GPU_LAYOUT.findViewById(R.id.gpu_higher_than_value);
final Spinner min_max =(Spinner) GPU_LAYOUT.findViewById(R.id.min_max_spinner_gpulay);
min_max.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String TMP=min_max.getSelectedItem().toString();
higher_than.setText(TMP);
}
});
return GPU_LAYOUT;
}
Est-il possible que je peux le faire? Merci!!!!
OriginalL'auteur AlphaVladim | 2013-09-20
Vous devez vous connecter pour publier un commentaire.
Je fais comme ceci:
Aussi je suggère pour obtenir la position du groupe que vous utilisez, puis de la gérer.
Peut-être que vous devriez faire quelque chose homoserine llike ceci: public static de la classe CustomSpinner s'étend Spinner{ private OnSpinnerEventsListener mListener; @Override public boolean performClick() {mOpenInitiated = true; if (mListener != null) {//ici, capturer les données que vous souhaitez mListener.onSpinnerOpened();} return super.performClick();} public void setSpinnerEventsListener(OnSpinnerEventsListener OnSpinnerEventsListener) { mListener = onSpinnerEventsListener; } public void performClosedEvent() { mOpenInitiated = false; if (mListener != null) { mListener.onSpinnerClosed(); } } }
OriginalL'auteur Alejandro Cumpa
Vous pouvez le faire avec setOnTouchListener de cette façon:
OriginalL'auteur Javier Roberto
ok, peut-être cela va vous aider stackoverflow.com/questions/18447063/...
Non, il ne l'aide pas. Merci!!!!
OriginalL'auteur Furqan
vous ne pouvez pas utiliser
setOnClickListener
directement sur un Spinner. Si vous voulez le faire ici est une astuce.Dans ce code
MotionEvent.ACTION_UP
fera de cette loi comme onclick.Espérons qu'il saura vous aider!
OriginalL'auteur Ehsan Rafique