2012-05-16 1 views
0

저는 java와 android를 처음 사용합니다. 이 코드를 이해할 수 없습니다.AdapterView 익명 객체

gridview.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
      Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show(); 
     } 
    }); 

이것은 내 생각에 : OnItemClickListener는 인터페이스입니다. 우리는 AdapterView 클래스로부터 익명의 객체를 생성한다. 나는 AdapterView.OnItemClickListener가 인터페이스 인 정보를 가지고 있습니다 AdapterView.OnItemClickListener

맞습니까?

+0

네, 기본적으로. AdapterView.OnItemClickListener 형식의 익명 클래스를 만듭니다. – you786

답변

0

예 기본적으로이 메커니즘을 사용하면 이벤트가 발생할 때마다 실행될 코드 블록을 지정할 수 있습니다. 이 경우 이벤트는 GridView에 대한 onItemClick()입니다. 이 패턴은 Android에서 다소 일반적으로 사용됩니다. 당신이 원하는대로 무엇이든 인터페이스 메소드를 오버라이드하면 시스템은 액션이 발생했을 때 인터페이스 메소드를 호출합니다.

Android API에서이 패턴의 좀 더 일반적인 예를 살펴 보는 것이 좋습니다. 보기 위젯 중 몇 가지, 특히 public void setOn{ACTION}Listener()에 대한 javadocs를 살펴보십시오. 여러 가지 가능한 조치가 있습니다. 두 가지 공통점이 있습니다.

문서에서 android.wiget을 확인하십시오. 상단에는 인터페이스 목록이 많이 있습니다. 그 중 몇 개는 이와 비슷한 Listener 인터페이스입니다.