2013-11-24 3 views
6

나를 위해 생성 된 LoginActivity.java를 사용하여 Android Studio 0.3.6에 새로운 Android 애플리케이션을 만들었습니다. 나는 onCreate 기능을 볼 때 나는 다음과 같은 코드를 참조하십시오익명 내부 클래스를 나타내는 Android Studio

enter image description here

을하지만이 강조 (view)-> { 코드를 클릭하면 안드로이드 스튜디오는 내가 볼 것으로 예상 것입니다 무슨 표시

findViewById(R.id.sign_in_button).setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     attemptLogin(); 
    } 
}); 

내 질문에

  1. 무엇이라고합니까?
  2. Android Studio는 왜 이렇게합니까?
  3. 입력이 훨씬 적기 때문에이 기능을 활용할 수 있습니까?

답변

2
그것은 자바 8 유사한 코드 접기를하고있어

람다 연산 식합니다 (docs 참조) 코드가 실제로 자바 8로 컴파일되지 않은 경우에도, 더 컴팩트 한 디스플레이를위한 편의성 일뿐입니다. 당신이 그 (것)들에게 자신을 사용하려면

, 당신은 컴파일 언어로 자바 1.7안드로이드 스튜디오를 사용할 수 있지만 나중에 도구 V19 또는를 구축 사용할해야합니다, 당신은 특정 언어 기능을 사용하는 경우 Kit Kat 이상이있는 휴대 전화에서만 실행됩니다. 람다 함수은 문제가되지 않습니다.

+6

실제로 이것은 java 8 기능 – deviant

+1

입니다. 특히, 코드 폴딩에서 "클로저 (한 가지 방법을 구현하는 익명 클래스)"라는 설정이 있습니다.이 설정은 사용하거나 사용하지 않도록 설정할 수 있습니다. ctrl alt -/+를 사용하여 수동으로 폴드/폴드 할 수도 있습니다. 불행히도 나는 당신이 실제로 속기 버전을 타이핑하고 AS가 전체 코드를 자동 생성하는 방식을 알지 못한다. – JHH

관련 문제