Я хочу поймать взаимодействие с пользователем с помощью спиннера, такого как onCLickListener. В случае ошибки 'not call onClickListener () on AdapterView' я нашел рекомендации, по которым вам следует переопределить конструктор с помощью специального счетчика, чтобы установить onClickListener () для представления, создаваемого счетчиком.
Попробовал, что:
public class MySpinner extends Spinner {
public static final String TAG = "MyApp";
public MySpinner(Context context, AttributeSet attrs) {
super(context, attrs);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(context, R.array.temp_systems, android.R.layout.simple_spinner_item);
TextView spinner_text = (TextView) findViewById(android.R.id.text1);
OnClickListener spinnerOnClickListener = new OnClickListener() {
public void onClick(View v) {
Log.d(TAG, "Should do something!");
}
};
spinner_text.setOnClickListener(spinnerOnClickListener);
setAdapter(adapter);
}
}
но когда я пытаюсь включить это в макет, я получаю сбой при невозможности надуть этот элемент.
Чтобы уточнить здесь, onItemClickListener срабатывает, когда пользователь щелкает элемент в раскрывающемся меню, а не когда свернутый счетчик. Мне нужно перехватить после того, как щелкнул исходный счетчик, но до того, как он создаст выпадающее меню.