Android 回收视图中的BaseAdapter仅显示一个项目问题

Android 回收视图中的BaseAdapter仅显示一个项目问题,android,android-listview,baseadapter,Android,Android Listview,Baseadapter,我有RecyclerView,这有一个问题,但在extends BaseAdapter listview中只显示第一个数据元素,在获取唯一的第一项后,适配器不会继续放置数据 public class AdapterCorporationPrivilegeDescriptions extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private List<ModelPrivilegeDescription>

我有RecyclerView,这有一个问题,但在extends BaseAdapter listview中只显示第一个数据元素,在获取唯一的第一项后,适配器不会继续放置数据

public class AdapterCorporationPrivilegeDescriptions extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private List<ModelPrivilegeDescription> itemList;
    private ListPrivilegeParentListener parentListener;
    private Context context;
    private AdapterCorporationPrivilegeDescriptionnn adapter;
    private boolean visibility;
    private int width;

    public AdapterCorporationPrivilegeDescriptions(Context context,
                                                   int width,
                                                   List<ModelPrivilegeDescription> itemList,
                                                   ListPrivilegeParentListener parentListener) {

        this.itemList = itemList;
        this.width = width;
        this.parentListener = parentListener;
        this.context = context;
    }

    public void setData(List<ModelPrivilegeDescription> itemList) {
        this.itemList = itemList;
        notifyDataSetChanged();
    }

    public void setVisibilityListView(boolean visibility) {
        this.visibility = visibility;
    }

    @Override
    public AdapterCorporationPrivilegeDescriptions.AdapterCorporationPrivilegeListHolder
    onCreateViewHolder(ViewGroup parent, int viewType) {
        return new AdapterCorporationPrivilegeDescriptions.AdapterCorporationPrivilegeListHolder(
                LayoutInflater.from(parent.getContext()).inflate(
                        R.layout.item_corporation_privilege_descriptions, parent, false));
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        ((AdapterCorporationPrivilegeDescriptions.AdapterCorporationPrivilegeListHolder) holder).setData(itemList.get(position));
    }

    @Override
    public int getItemCount() {
        return itemList == null ? 0 : itemList.size();
    }

    private class AdapterCorporationPrivilegeListHolder extends RecyclerView.ViewHolder {

        private HTextView text;
        private HImageView icon;
        private HSwipeableListView listView;

        private AdapterCorporationPrivilegeListHolder(View itemView) {
            super(itemView);
            text = itemView.findViewById(R.id.itemCorporationPrivilegeDescriptionsText);
            icon = itemView.findViewById(R.id.itemCorporationPrivilegeDescriptionsIcon);
            listView = itemView.findViewById(R.id.itemCorporationPrivilegeDescriptionsListView);
        }

        private SwipeMenuItem getDeleteItem() {
            SwipeMenuItem swipeMenuItem = new SwipeMenuItem(context);
            swipeMenuItem.setWidth(width);
            swipeMenuItem.setBackground(R.color.red_delete);
            swipeMenuItem.setIcon(R.drawable.ic_delete);
            swipeMenuItem.setTitle(App.getStrWithId(R.string.payment_transfer_delete_button));
            swipeMenuItem.setTitleColor(Color.WHITE);
            swipeMenuItem.setTitleSize((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 16, context.getResources().getDisplayMetrics()));

            return swipeMenuItem;
        }

        HSwipeableListView.OnMenuItemClickListener onMenuItemClickListener = new HSwipeableListView.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(final int position, SwipeMenu menu, int index) {
                if (index == 0) {
                    App.getInstance().getBusInstance().post(new CorporationPrivilegeDescriptionEvent(position));
                }

                return false;
            }
        };

        public void setData(final ModelPrivilegeDescription data) {

            SwipeMenuCreator creator = new SwipeMenuCreator() {
                @Override
                public void create(SwipeMenu menu) {
                    menu.addMenuItem(getDeleteItem());
                }
            };

            listView.setDividerHeight(0);
            listView.setMenuCreator(creator);
            listView.setOnMenuItemClickListener(onMenuItemClickListener);
            listView.setSwipeEnabled(!App.getInstance().isTalkBackEnabled());


            //listView.setVisibility(visibility ? View.VISIBLE : View.GONE);
            text.setText(data.transactionName);
            if (data.innerList != null && !data.innerList.isEmpty()) {
                AdapterCorporationPrivilegeDescriptionnn adapter = new AdapterCorporationPrivilegeDescriptionnn(context, data.innerList, childListener);
                adapter.notifyDataSetChanged();
                listView.setAdapter(adapter);
                adapter.notifyDataSetChanged();
            } else {
                listView.setVisibility(View.GONE);
                icon.setVisibility(View.INVISIBLE);
            }

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    float positionClosed = 0, positionOpened = 180;
                    if (listView.getVisibility() == View.VISIBLE) {
                        parentListener.onItemSelected(data);
                        listView.setVisibility(View.GONE);
                        icon.setRotation(positionClosed);
                    } else {
                        listView.setVisibility(View.VISIBLE);
                        icon.setRotation(positionOpened);
                    }
                }
            });
        }

        private final AdapterCorporationPrivilegeDescriptionnn.CorporationPrivilegeDescriptionListener childListener = new AdapterCorporationPrivilegeDescriptionnn.CorporationPrivilegeDescriptionListener() {
            @Override
            public void onLimitButtonClick(ModelPrivilegeDescriptionAccount item) {
                int a = 5;
            }

            @Override
            public void onDetailButtonClick(ModelPrivilegeDescriptionAccount item) {
                int a = 5;
            }
        };
    }
}
公共类AdapterCorporationPrivilegeDescriptions扩展了RecyclerView.Adapter{
私人清单项目清单;
private ListPrivilegeParentListener parentListener;
私人语境;
私有适配器公司私有描述NN适配器;
私有布尔可见性;
私有整数宽度;
公共AdapterCorporationPrivilegeDescriptions(上下文,
整数宽度,
列表项列表,
ListPrivilegeParentListener(parentListener){
this.itemList=itemList;
这个。宽度=宽度;
this.parentListener=parentListener;
this.context=上下文;
}
公共void setData(列表项列表){
this.itemList=itemList;
notifyDataSetChanged();
}
public void setVisibilityListView(布尔可见性){
这个.可见性=可见性;
}
@凌驾
公共适配器公司特权说明。适配器公司特权持有人
onCreateViewHolder(视图组父级,int-viewType){
返回新的AdapterCorporationPrivilegeDescriptions.AdapterCorporationPrivilegeListHolder(
LayoutInflater.from(parent.getContext()).flate(
R.layout.item_corporation_privilege_description,parent,false));
}
@凌驾
BindViewHolder上的公共无效(RecyclerView.ViewHolder,int位置){
((AdapterCorporationPrivilegeDescriptions.AdapterCorporationPrivilegeListHolder)holder)设置数据(itemList.get(position));
}
@凌驾
public int getItemCount(){
return itemList==null?0:itemList.size();
}
私有类适配器公司PrivilegelistHolder扩展了RecyclerView.ViewHolder{
私有HTextView文本;
私人HImageView图标;
私有HSwipeableListView-listView;
private Adapter公司PrivilegileListHolder(查看项目视图){
超级(项目视图);
text=itemView.findViewById(R.id.ItemCorporationPrivilegeDescriptionText);
icon=itemView.findViewById(R.id.ItemCorporationPrivilegeDescriptionIcon);
listView=itemView.findViewById(R.id.ItemCorporationPrivilegeDescriptionListView);
}
私有SwipeMenuItem getDeleteItem(){
SwipeMenuItem SwipeMenuItem=新的SwipeMenuItem(上下文);
swipeMenuItem.setWidth(宽度);
swipeMenuItem.setBackground(R.color.red_删除);
swipeMenuItem.setIcon(R.drawable.ic_delete);
swipmenuitem.setTitle(App.getStrWithId(R.string.payment\u transfer\u delete\u按钮));
swipeMenuItem.setTitleColor(颜色.白色);
swipeMenuItem.setTitleSize((int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,16,context.getResources().getDisplayMetrics());
返回swipeMenuItem;
}
hsWipeTableListView.OnMenuItemClickListener OnMenuItemClickListener=新建hsWipeTableListView.OnMenuItemClickListener(){
@凌驾
公共布尔onMenuItemClick(最终整数位置、开关菜单、整数索引){
如果(索引==0){
App.getInstance().getBusinInstance().post(新公司特权描述事件(职位));
}
返回false;
}
};
public void setData(最终型号privilegeDescription数据){
SwipeMenuCreator=新SwipeMenuCreator(){
@凌驾
创建公共空白(SwipMenu菜单){
addMenuItem(getDeleteItem());
}
};
setDividerHeight(0);
setMenuCreator(创建者);
setOnMenuItemClickListener(onMenuItemClickListener);
listView.setSwipeEnabled(!App.getInstance().isTalkBackEnabled());
//listView.setVisibility(可见性?View.VISIBLE:View.GONE);
text.setText(data.transactionName);
if(data.innerList!=null&&!data.innerList.isEmpty()){
AdapterCorporationPrivilegeScriptionNN adapter=新AdapterCorporationPrivilegeScriptionNN(上下文,data.innerList,childListener);
adapter.notifyDataSetChanged();
setAdapter(适配器);
adapter.notifyDataSetChanged();
}否则{
setVisibility(View.GONE);
图标.设置可见性(视图.不可见);
}
itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
浮动位置关闭=0,位置打开=180;
if(listView.getVisibility()==View.VISIBLE){
parentListener.onItemSelected(数据);
setVisibility(View.GONE);
图标。设置旋转(位置关闭);
}否则{
setVisibility(View.VISIBLE);
图标。设置旋转(位置打开);
}
}
});
}
private final AdapterCorporationPrivilegeDescriptionnn.CorporationPrivilegeDescriptionListener childListener=新AdapterCorporationPrivilegeDescriptionnn.CorporationPrivilegeDescriptionListener(){
@凌驾
public void onLimitButtonClick(ModelPrivilegeDescriptionAccount项){
INTA=5;
}
@凌驾
公共作废OnDetailButton单击(ModelPrivilegeDescriptionAccount项){
INTA=5;
public class AdapterCorporationPrivilegeDescriptionnn extends BaseAdapter {

    private int RESOURCE_ID = R.layout.item_corporation_privilege_description;
    private LayoutInflater inflater;
    private List<ModelPrivilegeDescriptionAccount> list;
    private CorporationPrivilegeDescriptionListener listener;

    public AdapterCorporationPrivilegeDescriptionnn(Context context,
                                                    List<ModelPrivilegeDescriptionAccount> items,
                                                    CorporationPrivilegeDescriptionListener listener) {
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        list = items;
        this.listener = listener;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public ModelPrivilegeDescriptionAccount getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        convertView = inflater.inflate(RESOURCE_ID, null);

        HTextView accountNumber = convertView.findViewById(R.id.itemCorporationPrivilegeDescriptionAccountNumber);
        HTextView changeLimitButton = convertView.findViewById(R.id.itemCorporationPrivilegeDescriptionChangeLimitButton);
        LinearLayout layout = convertView.findViewById(R.id.itemCorporationAuthorityDescriptionLayout);

        final ModelPrivilegeDescriptionAccount item = getItem(position);
        accountNumber.setText(item.accountNumber);
        changeLimitButton.setVisibility(item.isChangeable ? View.VISIBLE : View.GONE);
        changeLimitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listener.onLimitButtonClick(item);
            }
        });


        accountNumber.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                listener.onDetailButtonClick(item);
            }
        });


        return convertView;
    }

    public interface CorporationPrivilegeDescriptionListener {
        void onLimitButtonClick(ModelPrivilegeDescriptionAccount item);

        void onDetailButtonClick(ModelPrivilegeDescriptionAccount item);
    }

}