2016-04-01 8 views
0

[OK]を、私はいくつかの架空のクラスにアンドロイドスタジオ悪い折りたたみ

public class TEMP { 
    String data; 
    View.OnClickListener onClickListener = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (data != null) { 

      } 
     } 
    }; 
} 

を持っており、それは、Android Studioで次のようになります。 enter image description here

私はすべてを折りたたむ場合 - それは醜い:
enter image description here

ifのブロックをonClick()の中に取り除くと、それはうまく見えます:
enter image description here

どうして私はこの問題を解決できますか?

+0

私は同じ問題を抱えており、それも私にとって迷惑です。 Android Studio/Intellij IDEAにバグを報告するか、他の誰かがすでに作成している可能性のあるバグを見つけなければならないと思います。 – helleye

答えて

1

これはしばらく経っていますが、私はこれがどの程度役立っているのかよくわかりません。

これは、関数をJava 8ラムダ表記でラムダのようなビジュアル構造に折り畳んでいます。単一メソッドのインターフェースは、Java 8のlambdasとほぼ同等です(現在のところ、Android StudioはJava 8のラムダ表記法をサポートしていません)。詳細はIs it possible to use Java 8 for Android development?です。

回避策は、Javaツールチェーンに基づいてJava 8で使用できます。ここにはthe workaroundがあり、ここにはJack toolchainのdeprecationがあります。

herehereによると、Android Studio 2.4プレビュー4以降では、実際のラムダ表記がサポートされているようです。これらはプレビューであり、最新の公式バージョンは2.3.2です。

それを修正する方法については、私はそれが可能であるとは思わない。 region featureを使用して、達成しようとしているものを複製することができます。上記のリンクはちょっとしたことです。

+0

ええ、私はすでにこの問題を忘れていました;)。いくつかの後のリリースのみんながそれを修正したようです。現在のバージョン(2.3.2)では、私はそれを再現できません。 –

+0

私はまだ問題を見ています。私は私のプロジェクトの中でいくつかの大きな匿名クラスを持っています。私は2.3.2を実行しています。 – AlterionX

関連する問題