私の顧客では、recyclerviewのアダプタークラスで、単一項目内の各ボタンにクリックリスナーを追加しています。しかし、私はクリックリスナーを追加する必要があるボタンが非常に少なく、私は3〜4人ほどのリスナーがいるので、私のコードを非常に長くしています。クリックリスナーのコードを短くすることが可能かどうか疑問に思っていましたか?これに関する私の研究の間、ラムダ式に出くわしましたが、これらはどちらかが顧客のアダプターで動作しないか、または私はそれらを働かせるように見えません。ラムダ式の使い方/短縮onclicklistenersアンドロイドスタジオ
これは私がatmを使用しているものの例です:しかし、うまく動作しますが、私は4つありますので、可能な限りコードを減らしたいと思います。
myHolder.button.setOnClickListener((View v) -> {
//Do something
});
:ラムダ式は私もこれを試してみました
この言語レベルでサポートされていません。
myHolder.button.setOnClickListener(view -> button.setText("Working"));
このコード
はというエラーを与える:研究からmyHolder.button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// Do something
}
});
は、私はこれを試してみました
これは上記と同じエラーを返します。
コードを短くする他の方法はありますか?
助けがよかったです。ありがとう。
EDITED:
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId 'com.project.example'
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "6.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
..... 依存関係ここで見られるように
Java 8の機能(すべてではありません)を使用する場合は、[Jackを使用してコンパイルする](http://tools.android.com/tech -docs/jackandjill)。 – Patrick