我使用Android数据绑定实现了
这是我的
我在适配器构造函数中发送了
这是我的
ViewPager
,它可以完美处理数据和点击事件。我为点击事件创建了interface
。public interface ItemClickListener {
public void onItemClick();
}
这是我的
PagerAdapter
的instantiateItem()
方法:@Override
public Object instantiateItem(ViewGroup container, final int position) {
ListItemBinding binding = DataBindingUtil.inflate(mLayoutInflater, R.layout.list_item, container, false);
binding.setHandler(itemClickListener);
binding.getRoot().setTag(position);
container.addView(binding.getRoot());
return binding.getRoot();
}
我在适配器构造函数中发送了
itemClickListener
。public MatchListAdapter(Context context, ItemClickListener itemClickListener) {
mContext = context;
mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.itemClickListener= itemClickListener;
}
这是我的
list_item.xml
文件。<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="handler"
type="com.example.ItemClickListener" />
</data>
<LinearLayout
android:id="@+id/root_viewItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="@{() -> handler.onItemClick()}"
android:orientation="vertical">
//rest views and controls.
</LinearLayout>
</layout>
现在的问题是,我想传递点击项目的位置,如何从xml中传递该位置?由于我已经从xml调用了我的方法,所以该如何传递位置?
DataBinding
会处理视图参数,您不需要从 XML 传递任何视图参数。 - Burhanuddin Rashid