作者:ren123 | 来源:互联网 | 2023-05-18 04:34
ThisissillyproblembutIcouldnotfindwhatIamdoingwrong.这是一个愚蠢的问题,但我找不到我做错了什么。Iamusing
This is silly problem but I could not find what I am doing wrong.
这是一个愚蠢的问题,但我找不到我做错了什么。
I am using FirebaseRecyclerAdapter to fill recyclerView but there is unexpected space is coming with items.
我正在使用FirebaseRecyclerAdapter来填充recyclerView,但是项目会出现意想不到的空间。
Fragment class:
片段类:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_tags, container, false);
mProgressBar = (ProgressBar)view.findViewById(R.id.progressBar);
mTagsRecyclerView = (RecyclerView) view.findViewById(R.id.tagsRecyclerView);
mLinearLayoutManager = new LinearLayoutManager(getContext());
mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
mFirebaseAdapter = new FirebaseRecyclerAdapter(
Tags.class,
R.layout.item_message,
TagsViewHolder.class,
mFirebaseDatabaseReference.child("tags")) {
@Override
protected void populateViewHolder(TagsViewHolder viewHolder, Tags tags, int position) {
mProgressBar.setVisibility(ProgressBar.INVISIBLE);
viewHolder.tagTextView.setText(tags.getTagname());
viewHolder.usrTextView.setText(tags.getUserid());
}
};
mFirebaseAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onItemRangeInserted(int positionStart, int itemCount) {
super.onItemRangeInserted(positionStart, itemCount);
}
});
mTagsRecyclerView.setLayoutManager(mLinearLayoutManager);
mTagsRecyclerView.setAdapter(mFirebaseAdapter);
mTagsRecyclerView.addOnItemTouchListener(new RecyclerViewItemClickListener(getContext(),
new RecyclerViewItemClickListener.OnItemClickListener() {
@Override public void onItemClick(View v, int position) {
//TODO:
// do something on item click
Log.d("Item clicked at",Integer.toString(position));
}
}));
return view;
}
Fragment layout:
片段布局:
List item layout:
列表项目布局:
Please suggest.
请建议。
3 个解决方案