如何在 android java 的数据绑定 recyclerview 适配器中创建 2 列
How to create 2 columns in a databinded recyclerview adapter in android java
我知道通过 GridLayoutManager 通常可以做什么,但是因为我一直在使用 Google 的 GithubBrowserSample (Java),但是我无法使用它来复制该过程方法。
尝试更改 xml 的跨度计数但我使用的是 androidx 版本并且似乎不玩球
我的主要片段:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
categoryViewModel = ViewModelProviders.of(this, viewModelFactory).get(CategoryViewModel.class);
refreshAndObserve();
CategoryListAdapter cvAdapter = new CategoryListAdapter(dataBindingComponent);
binding.get().categoryList.setAdapter(cvAdapter);
adapter = new AutoClearedValue<>(this, cvAdapter);
}
我的适配器:
public class CategoryListAdapter extends DataBoundListAdapter<Category, ListItemCategoryBinding> {
private final androidx.databinding.DataBindingComponent dataBindingComponent;
public CategoryListAdapter(DataBindingComponent dataBindingComponent) {
this.dataBindingComponent = dataBindingComponent;
}
@Override
protected ListItemCategoryBinding createBinding(ViewGroup parent) {
ListItemCategoryBinding binding = DataBindingUtil
.inflate(LayoutInflater.from(parent.getContext()), R.layout.list_item_category,
parent, false, dataBindingComponent);
return binding;
}
}
谢谢。
这似乎可以通过 XML 完成:
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
我知道通过 GridLayoutManager 通常可以做什么,但是因为我一直在使用 Google 的 GithubBrowserSample (Java),但是我无法使用它来复制该过程方法。
尝试更改 xml 的跨度计数但我使用的是 androidx 版本并且似乎不玩球
我的主要片段:
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
categoryViewModel = ViewModelProviders.of(this, viewModelFactory).get(CategoryViewModel.class);
refreshAndObserve();
CategoryListAdapter cvAdapter = new CategoryListAdapter(dataBindingComponent);
binding.get().categoryList.setAdapter(cvAdapter);
adapter = new AutoClearedValue<>(this, cvAdapter);
}
我的适配器:
public class CategoryListAdapter extends DataBoundListAdapter<Category, ListItemCategoryBinding> {
private final androidx.databinding.DataBindingComponent dataBindingComponent;
public CategoryListAdapter(DataBindingComponent dataBindingComponent) {
this.dataBindingComponent = dataBindingComponent;
}
@Override
protected ListItemCategoryBinding createBinding(ViewGroup parent) {
ListItemCategoryBinding binding = DataBindingUtil
.inflate(LayoutInflater.from(parent.getContext()), R.layout.list_item_category,
parent, false, dataBindingComponent);
return binding;
}
}
谢谢。
这似乎可以通过 XML 完成:
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"