我正在尝试在列表视图中检测类似listview.getCount()
的列表项,但在回收者视图中却可以检测到。所以我用这段代码,
int count = 0;
if (adapter != null) {
count = adapter.getItemCount();
}
进行检测。实际上它可以检测到列表中有多少个项目,但是如果例如我的代码,它不会改变某些内容
adapter = new AssetsAdapter(data_map);
list = (RecyclerView) getView().findViewById(R.id.list_diperbaiki);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
list.setLayoutManager(mLayoutManager);
list.setItemAnimator(new DefaultItemAnimator());
// LoadMore button
load.setText("Load More");
list.addItemDecoration(new DividerItemDecoration(getActivity().getApplicationContext(), LinearLayoutManager.VERTICAL));
list.setAdapter(adapter);
int count = 0;
if (adapter != null) {
count = adapter.getItemCount();
}
Log.d("items", "" + count);
if (count < 9) {
load.setVisibility(View.GONE);
}
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// Starting a new async task
new DiperbaikiFragment.loadMoreListView().execute();
}
});
当列表项小于9时,我希望load
(即按钮)消失,但不会发生。如果还有其他方法,或者我在代码中做错了什么,请提供帮助。
答案 0 :(得分:0)
请检查adapter = new AssetsAdapter(data_map);
,检查此data_map
对象的默认大小。
如果最初是data_map.size() > 9
,则下面的逻辑是false
if (count < 9) {
load.setVisibility(View.GONE);
}
我认为这是您的代码存在的问题。