我有一个带有图像的imageView,我想用这张图片打开全屏活动。
<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"
我的处理程序类
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表达式的参数?
答案 0 :(得分:0)
将图片视图添加到布局广告设置布局参数以填充屏幕
答案 1 :(得分:-1)
我有这个问题,因为recyclerview包含不同的布局(多视图类型)。并且所有布局都使用数据绑定。我只为活动中的布局设置了处理程序。当我将适配器中的处理程序设置为recyclerview
中的所有布局时,问题就解决了@Override
public void onBindViewHolder(CommonViewHolder holder, int position) {
Object object = getObjForPosition(position);
holder.bind(object);
holder.binding.setVariable(BR.handler, mHandlers);
}