首页 > 解决方案 > 在 RecycleView 中滑动删除不起作用

问题描述

我从回收列表中删除的滑动实现不起作用,该项目被滑动,但它在被滑动后立即返回。此代码旨在创建语音到文本的购物清单以帮助老年人。

(我是 Android 开发的新手,感谢所有反馈,谢谢!)

public class GroceryListActivity extends AppCompatActivity {
RecyclerView   recyclerView;
RecycleAdapter recycleAdapter;
RelativeLayout relativeLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_grocery_list);

    relativeLayout = findViewById(R.id.relativeLayoutRL);
    recyclerView = findViewById(R.id.rvList);

    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recycleAdapter = new RecycleAdapter(this, prepareTextForRecycleView());
    recyclerView.setAdapter(recycleAdapter);

    //FOR SWIPE REMOVE ON ELEMENT ON LIST
    ItemTouchHelper helper = new ItemTouchHelper(callback);
    helper.attachToRecyclerView(recyclerView);
}

//FOR SWIPE REMOVE ON ELEMENT ON LIST
ItemTouchHelper.SimpleCallback callback = 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) {
        Snackbar snackbar = Snackbar.make(relativeLayout, "Item removido", Snackbar.LENGTH_LONG);
        snackbar.show();

        MainActivity.speechAsText.remove(viewHolder.getAdapterPosition());
        recycleAdapter.notifyDataSetChanged();
    }
};

private String[] prepareTextForRecycleView(){
    String[] ret = new String[MainActivity.getSpeechAsText().size()/2];
    int               j   = 0;

    for(int i = 0; i < MainActivity.getSpeechAsText().size(); i++){
        if (!(i % 2 == 0)){
            ret[j] = MainActivity.getSpeechAsText().get(i-1) + " - " + MainActivity.getSpeechAsText().get(i);
            j++;
        }
    }

    return ret;
}

标签: androidandroid-recyclerview

解决方案


推荐阅读