如何在recycleview适配器中设置布局可见性,我的适配器代码是

维诺德
@Override
public void onBindViewHolder(ContactViewHolder contactViewHolder, int i)
{
    // below I put layout show hide logic.this logic working but when i scroll the layout disturb. 
    if (month_value.equalsIgnoreCase("") || !(month_value.equalsIgnoreCase(ci.monthgrpmore_str))) {
        month_value = ci.monthgrpmore_str;

        contactViewHolder.dfgnew.setVisibility(View.VISIBLE);
        contactViewHolder.product_header2.setVisibility(View.VISIBLE);
    } else {
        contactViewHolder.dfgnew.setVisibility(View.GONE);
        contactViewHolder.product_header2.setVisibility(View.GONE);
    }

    if (Global_Data.target_grpby.equalsIgnoreCase("By Product")) {
        contactViewHolder.month_grpby.setText("Product Sub Category");
    }
}
维诺德
  // I find answer of my problem just replace some code in onBindViewHolder

  if (month_value.equalsIgnoreCase("") || !(month_value.equalsIgnoreCase(ci.monthgrpmore_str))) {
                    month_value = ci.monthgrpmore_str;
                    contactViewHolder.dfgnew.setVisibility(View.VISIBLE);
                    contactViewHolder.product_header2.setVisibility(View.VISIBLE);
                } else {
                    contactViewHolder.dfgnew.setVisibility(View.GONE);
                    contactViewHolder.product_header2.setVisibility(View.GONE);
                }

                //replace  above cobe with below code inside onBindViewHolder


if (i > 0 && !(contactList.get(i).monthgrpmore_str.equalsIgnoreCase(contactList.get(i-1).monthgrpmore_str))) {
    month_value = ci.monthgrpmore_str;
    contactViewHolder.dfgnew.setVisibility(View.VISIBLE);
    contactViewHolder.product_header2.setVisibility(View.VISIBLE);
} else {
    if(i != 0)
    {
        contactViewHolder.dfgnew.setVisibility(View.GONE);
        contactViewHolder.product_header2.setVisibility(View.GONE);
    }


}

// And my full adapter code is below.


 public class GrpbyMore_Adapter extends RecyclerView.Adapter<GrpbyMore_Adapter.ContactViewHolder> {

        int a=0;
        String month_value = "";
        private List<TargetValue_info> contactList;
        private List<TargetValue_info> contactListnew;
        public GrpbyMore_Adapter(List<TargetValue_info> contactList) {
            this.contactList = contactList;
            this.contactListnew = contactList;
        }

        @Override
        public int getItemCount() {
            return contactList.size();
        }

        @Override
        public void onBindViewHolder(ContactViewHolder contactViewHolder, int i)
        {

            ++a;
    //        if(a <= contactListnew.size()) {

                TargetValue_info ci = contactList.get(i);
    //            if (contactViewHolder != null) {
                    contactViewHolder.setIsRecyclable(false);
                    contactViewHolder.prdcatg_more.setText(ci.prdcatg_morestr);
                    contactViewHolder.month_more.setText(ci.monthgrpmore_str);




                    if (month_value.equalsIgnoreCase("") || !(month_value.equalsIgnoreCase(ci.monthgrpmore_str))) {
                        month_value = ci.monthgrpmore_str;
                        contactViewHolder.dfgnew.setVisibility(View.VISIBLE);
                        contactViewHolder.product_header2.setVisibility(View.VISIBLE);
                    } else {
                        contactViewHolder.dfgnew.setVisibility(View.GONE);
                        contactViewHolder.product_header2.setVisibility(View.GONE);
                    }


                    if (Global_Data.target_grpby.equalsIgnoreCase("By Product")) {
                        contactViewHolder.month_grpby.setText("Product Sub Category");
                    }

        }

        @Override
        public ContactViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
            View itemView = null;

            itemView = LayoutInflater.
                    from(viewGroup.getContext()).
                    inflate(R.layout.summary2_adapter, viewGroup, false);

                return new ContactViewHolder(itemView);


        }

        public static class ContactViewHolder extends RecyclerView.ViewHolder {

            protected TextView prdcatg_more;
            protected TextView month_more;


            public ContactViewHolder(View v) {
                super(v);
                prdcatg_more =  (TextView) v.findViewById(R.id.prdcatg_more);
                month_grpby =  (TextView) v.findViewById(R.id.month_grpby);

                dfgnew = (LinearLayout) v.findViewById(R.id.dfgnew);
                product_header2 = (LinearLayout) v.findViewById(R.id.product_header2);
            }
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取在 recyclerview 适配器中尚不可见的布局管理器的子项?

来自分类Dev

ListView(适配器)项目可见性侦听器

来自分类Dev

我如何从视图分页器适配器中获取当前可见的片段。

来自分类Dev

如何在Android中获取适配器内最后可见项目的位置

来自分类Dev

如何在Xamarin android Array适配器中获取可见列表项计数

来自分类Dev

如何在我的适配器中启动Activity?

来自分类Dev

如何在另一个recycleview适配器下使用recycleview适配器?

来自分类Dev

如何动态更改适配器布局?

来自分类Dev

在适配器中膨胀不同的布局

来自分类Dev

从活动的适配器设置ImageView可见/不可见

来自分类Dev

如何从适配器设置LiveData?

来自分类Dev

如何设置ListView适配器

来自分类Dev

如何设置适配器以显示 ListFragment

来自分类Dev

在片段中设置适配器

来自分类Dev

在适配器中设置 GradientDrawable 颜色

来自分类Dev

Recycleview RecyclerView:未连接适配器;跳过布局

来自分类Dev

如何在linux mint上设置wifi适配器?

来自分类Dev

E/RecyclerView:没有附加适配器;跳过布局如何解决下面是我的代码

来自分类Dev

如何在我的适配器上添加EventListener?

来自分类Dev

请查看可见或适配器转眼就ClickListener

来自分类Dev

适配器中的ArrayList?

来自分类Dev

RecycleView未连接适配器

来自分类Dev

如何在Hubot脚本中获取适配器名称?

来自分类Dev

如何在GridView适配器中存储位图?

来自分类Dev

如何在Android中自定义适配器?

来自分类Dev

如何在其适配器的onBindViewHolder中更新recyclerView?

来自分类Dev

如何在RecyclerView适配器的onBindViewHolder中声明overridePendingTransition?

来自分类Dev

如何在活动中更新适配器的文本视图

来自分类Dev

如何在其适配器中刷新android listview

Related 相关文章

  1. 1

    如何获取在 recyclerview 适配器中尚不可见的布局管理器的子项?

  2. 2

    ListView(适配器)项目可见性侦听器

  3. 3

    我如何从视图分页器适配器中获取当前可见的片段。

  4. 4

    如何在Android中获取适配器内最后可见项目的位置

  5. 5

    如何在Xamarin android Array适配器中获取可见列表项计数

  6. 6

    如何在我的适配器中启动Activity?

  7. 7

    如何在另一个recycleview适配器下使用recycleview适配器?

  8. 8

    如何动态更改适配器布局?

  9. 9

    在适配器中膨胀不同的布局

  10. 10

    从活动的适配器设置ImageView可见/不可见

  11. 11

    如何从适配器设置LiveData?

  12. 12

    如何设置ListView适配器

  13. 13

    如何设置适配器以显示 ListFragment

  14. 14

    在片段中设置适配器

  15. 15

    在适配器中设置 GradientDrawable 颜色

  16. 16

    Recycleview RecyclerView:未连接适配器;跳过布局

  17. 17

    如何在linux mint上设置wifi适配器?

  18. 18

    E/RecyclerView:没有附加适配器;跳过布局如何解决下面是我的代码

  19. 19

    如何在我的适配器上添加EventListener?

  20. 20

    请查看可见或适配器转眼就ClickListener

  21. 21

    适配器中的ArrayList?

  22. 22

    RecycleView未连接适配器

  23. 23

    如何在Hubot脚本中获取适配器名称?

  24. 24

    如何在GridView适配器中存储位图?

  25. 25

    如何在Android中自定义适配器?

  26. 26

    如何在其适配器的onBindViewHolder中更新recyclerView?

  27. 27

    如何在RecyclerView适配器的onBindViewHolder中声明overridePendingTransition?

  28. 28

    如何在活动中更新适配器的文本视图

  29. 29

    如何在其适配器中刷新android listview

热门标签

归档