java - 使用事件移除卡片

标签 java android listview cardslib

我正在使用 gabrielemariotti 的 cardslib。我正在使用可扩展的 ListView 卡。我里面有一个自定义布局,ListView 卡内的 View 之一是 ImageView ,名称为remove。我计划使用删除 ImageView 作为触发器来动态地从列表中删除卡片。

问题是,卡片上涉及两个布局,标题和主要内容。顺便说一句,卡片包含在 ListView 内。其中一种布局,是remove imageview 所在的位置。下面的代码可以通过单击来删除卡片。 CardListView

 CardHeader header = new CardHeader(getActivity());

        //Set the header title
        header.setTitle(titleHeader);

        //Set visible the expand/collapse button
        header.setButtonExpandVisible(true);

        header.setOtherButtonClickListener(new CardHeader.OnClickCardHeaderOtherButtonListener() {
            @Override
            public void onButtonItemClick(Card card, View view) {
                Toast.makeText(getActivity(), "Drawable", Toast.LENGTH_SHORT).show();
                if(mCardArrayAdapter!=null){

                    mCardArrayAdapter.remove(card); //It is an example.
                }

            }
        });

下面的代码将在单击 imageview“删除”时触发 Toast,

@Override
    public void setupInnerViewElements(ViewGroup parent,View view){



        //Add simple title to header
        if (view!=null){
            TextView mTitleView=(TextView) view.findViewById(R.id.card_header_inner_simple_title);
            if (mTitleView!=null)
                mTitleView.setText(mTitle);

            ImageView img = (ImageView)view.findViewById(R.id.cancel);

            img.setOnClickListener(new OnClickListener(){

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getContext(), "Clicked", Toast.LENGTH_SHORT).show();
                }});

        }

    }

我想将两者结合起来。 library

最佳答案

Cardslib 的工作原理就像首先将所有卡片添加到一个卡片数组中,然后使用卡片数组初始化 CardArrayAdapter。

与使用ListView相同。因此,删除一项也与从 ListView 中删除相同。

1) 在任何事件中,从卡片数组中删除该卡片。

2) 调用notifyDataSetChanged();在您的 CardArrayAdapter 对象上。它将更新卡片列表并从 View 中删除已删除的卡片。

关于java - 使用事件移除卡片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21301969/

相关文章:

java - 如何防止 Spring Boot 守护程序/服务器应用程序立即关闭/关闭?

android - 以编程方式在 ListView 中设置激活项

java - 如何从 LWUIT 1.4 中的 TextField 中删除清除和 t9 命令?

android - 观察/订阅应该在 View 还是 Presenter 上完成?

android - 删除 GridView 上的 FadingEdge。安卓 hive

android - 获取过滤recyclerview后的位置

android - Buggy ListView 让我很难过

asp.net - 在 Listview 中的 InsertItemTemplate 中查找文本框

java - 拦截器销毁方法

java - Spring MVC 和 UI 组件