如何从自定义 listView android 中获取已删除的列表项?

How to get deleted list item from custom listView android?

我在 TextViewImageButton 中使用自定义列表视图。在按钮的单击事件中,我想从列表中删除该项目并获取 textview's 文本并将其传递给 activity.

这是我的代码...

适配器

//getView
TextView textView = view.findViewById(R.id.textViewName);
    ImageButton imageButtonClear = view.findViewById(R.id.imageButtonClear);

    textView.setText(document.getDocName());

    imageButtonClear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            documentList.remove(i);
            CustomAdapter.this.notifyDataSetChanged();
        }
    });

Activity

//setting listview adapter
    customAdapter = new CustomAdapter(context,documentList);
    listViewDoc.setAdapter(customAdapter);
    //How to get deleted item from list here...

当您删除在一个 ArrayList/Array 中列出名称的行存储并将其传递给 Activity。

TextView textView = view.findViewById(R.id.textViewName);
    ImageButton imageButtonClear = view.findViewById(R.id.imageButtonClear);

 List<String> data = new ArrayList<String>(); // Here creating an array

    textView.setText(document.getDocName());

    imageButtonClear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            documentList.remove(i);
            data.add(document.getDocName()); // here adding data to arraylist
            CustomAdapter.this.notifyDataSetChanged();
        }
    });

Adapter 中创建 interfaceOnItemClearListener

public interface OnItemClearListener{
     void onItemClear(String itemName);
}

Activity

中实施 OnItemClearListener

并在 Adapter

中传递 Activity 引用
customAdapter = new CustomAdapter(context,documentList,this);

创建 OnItemClearListener 的变量并在 CustomAdapter 中赋值。

然后这样调用接口方法

imageButtonClear.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        onItemClearListener.onItemClear(document.getDocName());
        documentList.remove(i);
        CustomAdapter.this.notifyItemRemoved(i);
    }
});

在你的activity中写一个public方法

public void setDeletedItem(String documentName)
    {
       //get values from object 
    Intent intent = new Intent(YourActivity.this, SecondActivity.class);
    intent.putExtra("VALUE",documentName);
    startActivity(intent);
    }



imageButtonClear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mContext instanceof YourActivity) {
                    ((YourActivity) mContext).setDeletedItem(documentList.get(i).getDocName());
                }
            documentList.remove(i);
            CustomAdapter.this.notifyDataSetChanged();
        }
    })

;