Таким образом, я хочу, чтобы назначить Spinner OnClick, но я получаю следующее сообщение об ошибкеAndroid - Spinner + setOnClickListener
java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
мне это нужно, чтобы собрать данные, когда я нажимаю на блесну, а затем использовать его позже. Я знаю, что делал это раньше, но я потерял код. Googled для ответа, я не нашел ничего, что работает. Если это помогает, я использую макет pagerview. Вот мой код:
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;
}
Есть ли способ, я могу это сделать? Спасибо!
«Мне нужно, чтобы собирать данные, когда я нажимаю на счетчик». Пожалуйста, прочитайте мой пост! Мне не нужен OnItemSelectedListener. Кроме того, GPU_LAYOUT является основным ScrollView. – AlphaVladim
Возможно, вам стоит сделать что-то подобное: public static class CustomSpinner extends Spinner { private OnSpinnerEventsListener mListener; @Override public boolean performClick() {mOpenInitiated = true; если (mListener! = NULL) {// здесь захватить данные, которые вы хотите mListener.onSpinnerOpened();} вернуть super.performClick();} общественности недействительным setSpinnerEventsListener (OnSpinnerEventsListener OnSpinnerEventsListener) { mListener = onSpinnerEventsListener; } public void performClosedEvent() { mOpenInitiated = false; если (mListener! = Null) { mListener.onSpinnerClosed(); } } } – Aiapaec