2013-11-24 15 views
6

Android Studio 0.3.6に私のために作成されたLoginActivity.javaで新しいAndroidアプリケーションを作成しました。私はonCreate機能を表示すると、私は次のコードを参照してください。匿名の内部クラスを表すAndroid Studio

enter image description here

をしかし、私は強調し(view)-> {コードをクリックしたときのAndroid Studioは、私が見に期待しているだろうか表示されます。

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

私の質問に

  1. これは何と呼ばれていますか?
  2. なぜAndroid Studioでこれを行うのですか?
  3. これは、入力がずっと少ないので、私が利用できるものですか?

答えて

2

あなたのコードは、実際のJava 8でコンパイルされていない場合でも(docsを参照)ラムダ式のJava 8 に似た折りたたみコードをやっています。よりコンパクトなディスプレイのための便利さです。あなたがそれらを自分で使用したい場合は

、コンパイル言語としてのJava 1.7のAndroidメーカーを使用できますが、後でツールV19またはを構築使用する必要があるでしょう、そしてあなたは、特定の言語機能を使用する場合Kit Kat以降の電話機でのみ動作します。 ラムダ関数は問題にはなりません。

+6

実際にはjava 8の機能 – deviant

+1

具体的には、有効または無効にできるクロージャ(1つのメソッドを実装する匿名クラス)というコードフォールディングの設定があります。 ctrl alt -/+を使用して手動で折りたたんだり展開したりすることもできます。残念ながら、私はあなたが実際に略記バージョンを入力する方法と、ASが完全なコードを自動生成する方法についてはわかりませんが、その逆です。 – JHH

関連する問題