Я новичок до Adapter
. Итак, чтобы узнать больше о том, как реализовать Adapter
Я проходил различные примеры в SO и некоторых других блогах. Я обнаружил, что многие определяют getCount()
, getItem()
, getItemId()
в пользовательском классе адаптера, который распространяется ArrayAdapter
и даже не использует эти функции. Я понимаю, что в пользовательском классе, расширяющем «BaseAdapter», мы должны переопределить getCount()
, getItem()
, getItemId()
, чтобы все было сделано.Использование класса getCount(), getItem(), getItemId(), расширяющего ArrayAdapter
На мой вопрос: Должен ли я определять эти функции в пользовательском классе адаптера при расширении ArrayAdapter
?
Примечание: Что действительно меня удивило, что, когда я реализовал пользовательский Spinner
с использованием специального адаптера простирающегося ArrayAdapter
без определения этих функций, кажется, нет проблемы, и все работало нормально. Я действительно смущен, сделал ли я это неправильно.
@ люди, которые голосуют. Пожалуйста, также прокомментируйте причину голосования. Благодарю. – tpk
Просто проверьте источники «ArrayAdapter» и посмотрите, уже ли эти методы уже реализованы, и в случае, если вы не хотите изменять реализацию - не переопределяйте их в своем классе. – Egor
'public T getItem (int position) { throw new RuntimeException (" Stub! "); } 'все, что я вижу. Должен ли я предположить, что без аннотации '@ Override' мы можем переопределить getItem() в пользовательском адаптере? – tpk