Как получить идентификатор счетчика в методе onItemSelected?

#java #android #spinner

#java #Android #счетчик

Вопрос:

Моя проблема в том, что я хочу иметь 3 разных счетчика, которые отображают объекты одного типа, и я хочу иметь возможность определить, из какого счетчика я получаю данные, например : В счетчике 1 пользователь выбрал «картофель» В счетчике 2, пользователь выбрал «помидор» В счетчике 3, пользователь выбрал «картофель фри»

Но я могу получить только «выбранный пользователем […]», поскольку я не знаю, как определить, из какого счетчика я получил данные.

Мне было интересно, есть ли способ сделать это в методе onItemSelected (родительский просмотр AdapterView, просмотр view, int position, длинный идентификатор)?

Комментарии:

1. можете ли вы предоставить свой код, чтобы я мог вам помочь

Ответ №1:

Представление View — это, скорее всего, счетчик, который сделал выбор. Если вы установите .tag = 1 для каждого счетчика на разные числа в начале вашей программы, тогда вы сможете посмотреть, какое значение тега передается методу onItemSelected:

 if (view.tag == 1)...
  

Ответ №2:

Вероятно, вы установили общий прослушиватель для всех блесен, чтобы вы могли отличить, какой счетчик был выбран, проверив parent.getId() :

 @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    switch (parent.getId()){
        case R.id.spinner1:
            //your code here
            break;
        case R.id.spinner2:
            //your code here
            break;
        case R.id.spinner3:
            //your code here
            break;
    }
}