我为我的RecyclerView
创建了自定义适配器,用于在滚动之后加载更多数据。所以我必须AddScrollListner
在RecycleView
。但在我的公共构造函数中没有找到。LinearLayoutManager在Android中的RecycleView中不起作用(Xamarin)
的Android代码:
public UserAdapter() {
final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
totalItemCount = linearLayoutManager.getItemCount();
lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
if (!isLoading && totalItemCount <= (lastVisibleItem + visibleThreshold)) {
if (mOnLoadMoreListener != null) {
mOnLoadMoreListener.onLoadMore();
}
isLoading = true;
}
}
});
}
但是当我翻译LinearLayoutManager
不Xamarin工作。
Xamarin代码:
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
在上面的代码
我RecycleView
没有找到。
更新:
我已经设置这样
mRecyclerView. = FindViewById<RecyclerView>(Resource.Id.inventory_recycleView);
var manager = new LinearLayoutManager(this);
mRecyclerView. SetLayoutManager(manager);
mInventoryAdapter = new InventoryAdapter();
this.mRecyclerView.SetAdapter(mInventoryAdapter);
但后来也是我适配器类,不能使用。
class InventoryAdapter : RecyclerView.Adapter
{
private const int VIEW_TYPE_ITEM = 0;
private const int VIEW_TYPE_LOADING = 1;
private OnLoadMoreListener mOnLoadMoreListener;
private bool isLoading;
private int visibleThresold = 5;
private int lastVisibleItem, totalItemCount;
public override int ItemCount
{
get
{
throw new NotImplementedException();
}
}
public InventoryAdapter()
{
var layoutmanger = (LinearLayoutManager) mRecyclerView..GetLayoutManager();
}
}
任何帮助被赞赏。
LinearLayoutManager linearLayoutMgr =新LinearLayoutManager(getActivity()); recyclerView.setLayoutManager(linearLayoutMgr);试试这个 – Ritesh