我有一个RecyclerView.它有一个自定义布局,在自定义布局内是另一个RecyclerView.当我通知回收站视图项目已被删除时,我的主回收站视图已更新,但我的自定义视图回收视图未收到通知.
SwipeDismissRecyclerViewTouchListener listener = new SwipeDismissRecyclerViewTouchListener.Builder( recyclerView,new SwipeDismissRecyclerViewTouchListener.DismissCallbacks() { @Override public boolean canDismiss(int position) { return true; } @Override public void onDismiss(View view) { // Do what you want when dismiss int id = recyclerView.getChildAdapterPosition(view); databaseHelper.deleteSingleItem(cartAdapter.cartItemName.get(id)); Log.e(TAG,"onDismiss: " + subdata.get(id) + " " + data.get(id)); subdataprice.remove(id); subdata.remove(id); addonlist.remove(id); price.remove(id); data.remove(id); cartAdapter.notifyItemRemoved(id); Log.e(TAG,data.size() + " onDismiss: size " + subdata.size()); totalPriceTextView.setText(String.valueOf(getTotal())); cartAdapter.updateRecycler(); } }) .setIsVertical(false) .setItemClickCallback(new SwipeDismissRecyclerViewTouchListener.OnItemClickCallBack() { @Override public void onClick(int i) { // Toast.makeText(getBaseContext(),String.format("Delete item"),Toast.LENGTH_LONG).show(); } }) .create(); recyclerView.setOnTouchListener(listener);
这是要删除的RecyclerView滑动的代码.在我的购物车适配器中我采取了另一个回收视图适应.任何想法如何通知自适应如果从循环视图中删除任何数据.???
我的onBindViewHolder类
@Override public void onBindViewHolder(CustomViewHolder holder,int position) { try { holder.itemName.setText(String.format("%s",cartItemName.get(position))); holder.itemPrice.setText(String.format("£ %s",cartItemPrice.get(position))); AddonRecycleviewAdapter recycleViewAdapter = new AddonRecycleviewAdapter(context,listsubdata.get(position),listsubprice.get(position),listsubAddon.get(position)); holder.addon_recycleview.setHasFixedSize(true); holder.addon_recycleview.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false)); holder.addon_recycleview.setAdapter(recycleViewAdapter); } catch (Exception e) { e.printStackTrace(); } }
家长回收视图
<android.support.v7.widget.RecyclerView android:id="@+id/cartRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="2dp" android:clipToPadding="false" android:padding="@dimen/item_gallery_padding" app:layout_behavior="@string/appbar_scrolling_view_behavior" />
儿童recycleview
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageButton android:visibility="invisible" android:id="@+id/btnremove" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margin="@dimen/standard_padding_small" android:background="@null" android:src="@drawable/ic_action_action_search" android:text="Remove" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/standard_padding_small" android:gravity="center_vertical" android:padding="8dp" android:text="+" /> <TextView android:id="@+id/addonNameTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/standard_padding_small" android:layout_weight="1" android:ellipsize="end" android:gravity="center_vertical" android:maxLines="1" android:padding="8dp" android:text="9 inch Pizza" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="@color/secondary_text" /> <TextView android:id="@+id/addOnPriceTextView" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margin="@dimen/standard_padding_small" android:gravity="center_vertical" android:maxLines="1" android:text="£3.15" android:padding="8dp" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="@color/primary_text" /> </LinearLayout>