在recyclerview变空后如何设置视图的可见性

问题描述 投票:0回答:1

我正在尝试将与recyclerview相同片段的视图的可见性动态设置为当recyclerview变空时不可见。问题是我正在从适配器内部的recyclerview中删除一项虽然可见性必须在片段内设置。我还实现了“擦除以删除” recyclerview项,但这是在rv和需要变为不可见的视图的片段内,并且可以正常工作。

从适配器删除:

 @Override
        public void onClick(View v) {
            int holderPosition = holder.getAdapterPosition();
            removeItem(holderPosition, v.getContext());
            MainActivity.shoppingCartDatabase.shoppingCartDao().delete(currentItem);

        }
    });

private void removeItem(int position, Context context) {
    shoppingCartList.remove(position);
    if (shoppingCartList.isEmpty()) {
        Toast.makeText(context, "Nu mai exista niciun produs in cos", Toast.LENGTH_LONG).show();
    }
    notifyItemRemoved(position);
}

从片段中删除-我删除最后一个项目后,可见性已更改:

new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
        @Override
        public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
            int position = viewHolder.getAdapterPosition();
            MainActivity.shoppingCartDatabase.shoppingCartDao().delete(shoppingCartList.get(position));
            shoppingCartList.remove(position);
            shopAdapter.notifyDataSetChanged();
            verifyIfRecyclerViewIsEmpty(shopAdapter, recyclerView);
        }
    }).attachToRecyclerView(recyclerView);
android android-studio android-recyclerview recycler-adapter visibility
1个回答
0
投票
尝试使用此解决方案中提到的RecyclerViewEmptySupport:

https://stackoverflow.com/a/30415582/5434762

© www.soinside.com 2019 - 2024. All rights reserved.