【问题标题】:How can I Remove/Hide an item in RecyclerView after '5' seconds?如何在“5”秒后删除/隐藏 RecyclerView 中的项目?
【发布时间】:2021-09-06 17:13:58
【问题描述】:

基本上我有两个问题......我认为两个答案都有相似的方法。这就是为什么要同时询问。

第 1 部分- 我在 Fragment 中有一个 RecyclerView,其项目有一个倒数计时器,并且按剩余时间的升序排列。 我希望在倒计时归零后*(或者更好地说,当倒计时结束时)Recyclerview 应该等待 5 seconds * 将项目放在顶部,然后过期项目的可见性应该是不可见的,底部的项目应该替换它的位置... 在我再次启动我的应用程序后,它应该永远不可见。

第 2 部分- 在这种情况下,我希望过期的项目应该下降到回收器视图中项目的bottom of the queue

请注意,notifyDataSetChanged() 在此之后应该可以正常工作。

请帮助我,我自几周以来一直在尝试实现这一点,但每次都失败了。

我尝试过的工作正常,但是每当我再次打开应用程序或在片段之间切换时,它会显示旧的过期项目,将它们保持 5 秒钟然后隐藏它们。

这是我的 onBindviewHolder 方法- [1]:https://i.stack.imgur.com/Rd0rR.png [![这是带有计时器的虚拟 Recylerview][1]][1]


    @Override
    public void onBindViewHolder(@NonNull Holder holder, int position) {

        UserDetail userDetail = UserArrayList.get(position);
        long timer = userDetail.getCategoryTime().toDate().getTime();
        Date today = new Date();
        final long currentTime = today.getTime();
        long expiryTime = timer - currentTime;

        new CountDownTimer(expiryTime, 1000) {
            public void onTick(long millisUntilFinished) {
                           //do something
                           }

            public void onFinish() {


                holder.itemView.setEnabled(false);  
                holder.ques_time_h.setText("Time up!");
                
                
   

                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    public void run() {
holder.itemView.setVisibility(View.GONE); 
                        ViewGroup.LayoutParams params = holder.itemView.getLayoutParams();
                        params.height = 0;

                    }
                }, 5000);

            }
        }.start();```

【问题讨论】:

    标签: android-studio android-layout android-recyclerview


    【解决方案1】:

    在调用comit() 之前,您是否在片段上将ReorderingAllowed 设置为true?

    【讨论】:

    • Did ReorderingAllowed 在提交之前为 true ..但仍然是同样的问题
    • @PatrickDaligton 不行再试一次
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多