2011-09-07 3 views
0

나는 gridview를 구현했으며 어떻게 작동하는지에 대한 예제를 함께 해킹 해왔다. 나는 Adapter를 만들었고 청취자를 구현하려고 왔을 때 나는 이와 같이 성취했다는 것을 발견했다.OnItemClickListener 구문 - 누군가가 무슨 일이 일어나고 있는지, 왜 작동하는지 설명해 주실 수 있습니까?

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

}; 

왜 이것이 listview와 다르며 변수 선언 다음에 중괄호로 구현 된 이유는 무엇입니까?

많은 감사,

답변

2

당신은 OnItemClickListener 인터페이스를 구현하는 익명 클래스의 새로운 인스턴스를 생성하는

M. 새 클래스를 정의한 다음이 클래스의 새 인스턴스를 만드는 것보다 쉽습니다. 익명 클래스를 사용하면 필요한 곳에 클래스 인라인을 정의 할 수 있습니다. 리스너는 일반적으로 한 번만 사용할 수 있으므로 익명 클래스로 정의되는 경우가 많습니다.

+0

감사합니다. ListActivity가 OnItemClickListener를 구현한다는 것을 의미합니까? – mAndroid

+0

'ListActivity' 구현은'ListActivity'의'onListItemClick' 메소드를 실행하는리스트에'AdapterView.OnItemClickListener'를 설정합니다. 이는 사용하기 쉽기 때문에 목록에서'OnItemClickListener'를 설정하는 대신'onListItemClick'을 오버라이드 할 수 있습니다. – Salw

관련 문제