我有一個imageView加載圖像,我想打開這個圖像的全屏活動。Android數據綁定傳遞給lambda表達式的onClick參數
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="obj"
type="...ViewObjectImage">
</variable>
<variable
name="handler"
type="...Handlers">
</variable>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<android.support.v7.widget.CardView
...
<ImageView
...
app:progressbar="@{progressBar}"
app:imageUrl="@{obj.url}"
android:onClick="@{(v) -> handler.openFullScreen(v, obj.url)}"
android:clickable="true"
我Handler類
public void openFullScreen(View view, String url){
Context context = view.getContext();
Intent intent = new Intent(context, FullScreenSingleImageActivity.class);
intent.putExtra("image_url", url);
context.startActivity(intent);
}
但是,當我點擊ImageView的什麼也沒有發生。我如何以正確的方式傳遞lambda表達式的第二個參數?
看起來您已經在使用它了。試着更具體地說明你想要達到的目標。爲什麼它不起作用。如果你的意思是使用方法引用,那根本不可能。但是你的代碼看起來對我來說很好。 – tynn
我嘗試用全屏圖像打開活動,但是當我單擊imageview時沒有任何反應 – ZolkiBy
然後它可能與'openFullScreen()'的主體有關。你應該把它添加到你的問題中。 – tynn