【问题标题】:How to show serial number in RecyclerView in android?如何在android的RecyclerView中显示序列号?
【发布时间】:2018-06-26 00:03:32
【问题描述】:

我正在使用 RecyclerView 进行排名活动,

.

我想在每张头像前显示序列号(1、2、3……等等)。我该怎么做?

 // Rank View Holder
@Override
protected void onStart() {
    super.onStart();
    Query query = playerDB.orderByChild("score");
    FirebaseRecyclerAdapter<Rank, RankViewHolder>  firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Rank, RankViewHolder>(

            Rank.class,
            R.layout.player_single_rank_layout,
            RankViewHolder.class,
            query
    ) {
        @Override
        protected void populateViewHolder(RankViewHolder viewHolder, Rank model, int position) {

                viewHolder.setName(model.getName());
                viewHolder.setScore(model.getScore());
                viewHolder.setThumbImage(model.getThumbImage(), getApplicationContext());

        }
    };

    playerRankList.setAdapter(firebaseRecyclerAdapter);


}

【问题讨论】:

  • 分享你的努力,你尝试过的代码
  • @GautamChibde,我是编码新手,不知道如何推进我想要的。虽然我有关于如何填充 RecyclerView 的更新问题,但我希望这足以表明我正在尝试学习,因为我无法发布更多有问题的代码,因为它显示错误消息“问题主要是代码”。
  • 首先,我对 Recyclerview 了解不多,但你的pupulateViewHolder 中有一个position。您不能将该位置设置为文本视图或其他什么吗?
  • @Ivan 我认为你已经为我指明了正确的方向。我会在几个小时内尝试一下,如果它有效,我会告诉你。
  • @Ivan 非常感谢。成功了

标签: java android firebase firebase-realtime-database android-recyclerview


【解决方案1】:

我找到了解决办法。

 public static  class RankViewHolder extends RecyclerView.ViewHolder {

    View mView;
    TextView rankPosition;
    public RankViewHolder(View itemView) {
       super(itemView);
       mView = itemView;

        rankPosition = (TextView) mView.findViewById(R.id.rankPosition);

    }


 @Override
 protected void populateViewHolder(RankViewHolder viewHolder, Rank model,int position) {


                viewHolder.setName(model.getName());
                viewHolder.setRuns(model.getRuns());
                viewHolder.setThumbImage(model.getThumbImage(), getApplicationContext());
                // Getting positions here
                viewHolder.rankPosition.setText(String.valueOf(position));
        }

感谢 Ivan 为我指明了正确的方向。

【讨论】:

  • 我尝试编辑此答案,因为根据此答案String.valueOf(position) 将显示 0,1,2,3... 并且用户已询问如何获得 1,2,3,4。 ..这就是为什么我将位置更改为位置+ 1,但有些废话拒绝了我的更改而没有正确检查。
【解决方案2】:
viewHolder.rankPosition.setText(String.valueOf(position+1));

显示 1,2,3,4,...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2016-12-22
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    相关资源
    最近更新 更多