如何在Android中使用Holder类将ListView分成两部分 我正在从php服务器获取json 根据json,我必须填充我的listview 我的列表视图中有2个部分(本地用户和国际用户) 我通过以下链接解决了我的问题:

如何在Android中使用Holder类将ListView分成两部分 我正在从php服务器获取json 根据json,我必须填充我的listview 我的列表视图中有2个部分(本地用户和国际用户) 我通过以下链接解决了我的问题:,android,listview,custom-adapter,android-viewholder,Android,Listview,Custom Adapter,Android Viewholder,但问题是我正在使用自定义适配器和列表视图的Holder类,因此它无法维护它的状态 任何人有任何建议或有用的链接来解决我的问题 这是我的密码: @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; ViewHolder holder; if (null == view ) {

但问题是我正在使用自定义适配器和列表视图的Holder类,因此它无法维护它的状态

任何人有任何建议或有用的链接来解决我的问题

这是我的密码:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View view = convertView;
        ViewHolder holder;

        if (null == view ) {
            view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.custom_list_item_one_on_one, parent, false);

            holder = new ViewHolder();
            holder.seprater = (TextView) view.findViewById(R.id.separator);
            holder.avatar = (RoundedImageView) view.findViewById(R.id.imageViewUserAvatar);
            holder.userName = (TextView) view.findViewById(R.id.textviewUserName);
            holder.userStatus = (TextView) view.findViewById(R.id.textviewUserStatus);
            holder.statusImage = (ImageView) view.findViewById(R.id.imageViewStatusIcon);
            holder.unreadCount = (TextView) view.findViewById(R.id.textviewSingleChatUnreadCount);

            view.setTag(holder);
        } else {
            holder = (ViewHolder) view.getTag();
        }

        Buddy buddy = getItem(position);

        Log.i("YES-1.0@!", buddy.separator + " / " + buddy.id + " / " + SECTIONED_LOCAL_BUDDID);

        if (SECTIONED_LOCAL_BUDDID == 0L)
            SECTIONED_LOCAL_BUDDID = buddy.id;

        if (buddy.separator.trim().equals("Local") && SECTIONED_STATE_LOCAL) {
            holder.seprater.setVisibility(View.VISIBLE);
            holder.seprater.setText("Local");
            SECTIONED_STATE_LOCAL = false;
        } else if (buddy.separator.trim().equals("International") && SECTIONED_STATE_INTERNATIONAL){
            holder.seprater.setText("International");
            holder.seprater.setVisibility(View.VISIBLE);
            SECTIONED_STATE_INTERNATIONAL = false;
        }

选中ExpandableListView,您可以使用组来维护这两种用户。它们将分组在ListView aus井内。最终它看起来就像电话簿应用程序。把它想象成两组联系人,一组属于另一组,你可以使用recyclerview。它有很好的方法来处理布局类型和项目状态。只需给它一点时间,请发布你的代码,特别是你的“getView”方法,这将帮助我们找到解决方案。我已经添加了我的代码