我正在尝试一种方法,如果卡position == 0那么viewHolder.mPostSortNum.setText("1");“,如果position == 1那么viewHolder.mPostSortNum.setText("2");,但是我想自动对所有卡片进行编号的问题,因为这些方法只包含了0,1的位置,所以我需要一个方法来自动按位置对所有卡片进行编号。
下面是我的活动方法:
FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder>(
Getting_Posts.class, R.layout.post_card_design, PostViewHolder.class, mDatabase) {
@Override
protected void populateViewHolder(final PostViewHolder viewHolder, final Getting_Posts model, int position) {
viewHolder.setUsername(model.getUsername());
viewHolder.setProfile(getActivity().getApplicationContext(), model.getProfile());
viewHolder.setDescribe(model.getDescribe());
viewHolder.setWallpaper(getActivity().getApplicationContext(), model.getWallpaper());
//heres my methods but its for 3 cards only
if (position==0){viewHolder.mPostSortNum.setText("1");}
if (position==1){viewHolder.mPostSortNum.setText("2");}
if (position==2){viewHolder.mPostSortNum.setText("3");}
}
};
mPostList.setAdapter(firebaseRecyclerAdapter);}发布于 2017-02-24 18:57:47
position总是比实际数字少一个,因为索引总是从0开始。每次调用position + 1时只需使用viewHolder.mPostSortNum.setText("");即可。
FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Getting_Posts, PostViewHolder>(
Getting_Posts.class, R.layout.post_card_design, PostViewHolder.class, mDatabase) {
@Override
protected void populateViewHolder(final PostViewHolder viewHolder, final Getting_Posts model, int position) {
viewHolder.setUsername(model.getUsername());
viewHolder.setProfile(getActivity().getApplicationContext(), model.getProfile());
viewHolder.setDescribe(model.getDescribe());
viewHolder.setWallpaper(getActivity().getApplicationContext(), model.getWallpaper());
viewHolder.mPostSortNum.setText(String.valueOf(position + 1));
}
};
mPostList.setAdapter(firebaseRecyclerAdapter);}https://stackoverflow.com/questions/42445304
复制相似问题