java.lang.RuntimeException - «Не вызывайте setOnClickListener для AdapterView. Возможно, вы хотите использовать setOnItemClickListener вместо этого», но это не правильно. Я использую setOnItemClickListener, чтобы сделать некоторые вещи, основанные на новом выборе, но мне также нужно сделать некоторые вещи, прежде чем пользователь изменит выбор. В частности, я собираю данные для каждого выбора, которые необходимо сохранить в файл, прежде чем перейти к другому выбору, поскольку другой выбор связан с другим набором данных. Есть ли способ использовать setOnClickListener с Android Spinner?
spinner.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do some stuff before the user changes the selection
...
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
// Do some stuff based onItemSelected
...
Вам нужно будет установить прослушиватель кликов в базовом представлении (обычно TextView с id: android.R.id.text1) счетчика. Для этого: