簡體   English   中英

如何在 RecyclerView.Adapter 中為 Snackbar 獲取視圖?

[英]How to get View in RecyclerView.Adapter for Snackbar?

我正在通過本文的幫助在RecyclerView實現滑動和拖動。 在刪除項目時,我想顯示SnackBar但顯示SnackBar需要查看。 我不知道如何在RecyclerAdapter的函數中獲取View

我的代碼:

public void onItemDismiss(int position) {
        notes.remove(position);
        notifyItemRemoved(position);
        /* Show SnackBar */
    }

編輯:我的問題與這個問題不同。 我在實施 SwipetoDismiss 時沒有任何問題。我已經成功實施了它。 但我想顯示一個 SnackBar,以便用戶可以被通知和撤消。 我在顯示 SnackBar 沒有實現 onSwiped() 時遇到問題。

修改您的方法並將RecyclerView作為參數傳遞,以便您獲得視圖

public void onItemDismiss(int position,RecyclerView rv) {
        notes.remove(position);
        notifyItemRemoved(position);
        /* Show SnackBar */
        Snackbar.make(rv, R.string.snackbar_text, Snackbar.LENGTH_LONG).show(); 
    }

編輯

private final ItemTouchHelperAdapter mAdapter;
private final RecyclerView rv;
public SimpleItemTouchHelperCallback(ItemTouchHelperAdapter adapter,RecyclerView rv) {
    mAdapter = adapter;
    this.rv=rv;
}

然后通過

 @Override
    public void onSwiped(ViewHolder viewHolder, int direction) {
        mAdapter.onItemDismiss(viewHolder.getAdapterPosition(),rv);
    }

您可以通過對上下文進行類型轉換來使用 Android 的內容視圖

Activity activity=(Activity) context;

並在小吃店中使用以查看

Snackbar.make(activity.findViewById(android.R.id.content),"Hello",BaseTransientBottomBar.LENGTH_LONG).show

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM