Синтаксис OnItemClickListener - кто-нибудь может объяснить, что происходит и почему это работает? - PullRequest
0 голосов
/ 07 сентября 2011

Я реализовал gridview и собирал его из примеров, чтобы понять, как он работает.Я создал и Adapter, и когда я пришел, чтобы реализовать слушателя, я обнаружил, что это достигается следующим образом.

private OnItemClickListener mColourClickListener = new OnItemClickListener() 
{
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id){
        Log.d("LISTENER","Position Clicked ["+position+"]");
        }

};

Почему это отличается от просмотра списка и почему у него есть методы, реализованные в фигурных скобках после объявления переменной?

Большое спасибо,

M

1 Ответ

2 голосов
/ 07 сентября 2011

Вы создаете новый экземпляр анонимного класса, который реализует интерфейс OnItemClickListener. Это проще, чем определить новый класс и затем создать новый экземпляр этого класса. Анонимный класс позволяет вам определять класс inline, где вам это нужно. Слушатели обычно используются один раз, поэтому они часто определяются как анонимные классы.

...