簡體   English   中英

從列表中刪除對象項

[英]Removing Object Item from a List

我想刪除一個項目,當用戶longClicked到選定的RecyclerView項目。 mWebsite是具有兩個String值的對象列表。

RecyclerViewAdapter的setOnLongClickListener;

holder.cardView.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            Toast.makeText(mContext, "ITEM: "+position, Toast.LENGTH_SHORT).show();



            AlertDialog.Builder builder2 = new AlertDialog.Builder(mContext);
            builder2.setTitle("Are you sure to delete this item?");
            builder2.setMessage("'"+mWebsite.get(position).getWebUrl()+"'");


            builder2.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                    mWebsite.remove(position);

                }
            });

            builder2.setNegativeButton("No", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    dialogInterface.dismiss();
                }
            });


            builder2.setCancelable(true);
            builder2.create().show();


            return true;
        }
    });

但是,我得到了這個錯誤; (第106行是; mWebsite.remove ...)

at java.util.ArrayList.get(ArrayList.java:310)
at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7225)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

adapter.remove(item); adapter.notifyItemRemoved(position);

暫無
暫無

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

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