我有一个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