标签: android-cab

Android CAB在listview notifydatasetchanged之后销毁

我使用setMultiChoiceModeListenerListview调用操作模式选择要删除的多个项目.在ListView滚动时,我从服务器加载更多数据并通知适配器.后adapter已被通知,操作模式(如果调用)被破坏和重建,这使得标题和选择的ArrayList空(你可以看到下面的图片).列表视图项目选择仍然存在.我希望CAB像我们在Gmail应用中看到的一样持久,在加载更多数据时不会破坏它.

在此输入图像描述

以下是动作模式的代码

listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
            listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
                @Override
                public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {

                        Item mItem = adapter.items.get(position);
                        if (mItem.isSection()) {
                        } else {
                            mode.setTitle(listView.getCheckedItemCount() + " Selected");
                            EntryItem mEntryItem = (EntryItem) mItem;
                            orderid = mEntryItem.orderId;
                            if (checked) {
                                selectedIdList.add(orderid);
                            } else {
                                selectedIdList.remove(orderid);
                            }
                            // Toggle the state of item after every click on it
                            adapter.toggleSelection(position);
                    }
                }

                @Override
                public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
                    if …
Run Code Online (Sandbox Code Playgroud)

android listview android-cab

9
推荐指数
1
解决办法
329
查看次数

我们如何在Android上下文操作栏中显示后退按钮而不是完成(选中标记)按钮

我默认得到这个 在此输入图像描述

我要这个

在此输入图像描述

这应该是微不足道的,但我找不到任何与Android文档相关的内容.

private void setupContextualBar()
    {
        mActionModeCallback = new ActionMode.Callback()
        {
            // Called when the action mode is created; startActionMode() was called
            @Override
            public boolean onCreateActionMode(ActionMode mode, Menu menu) 
            {
                MenuInflater inflater = getActivity().getMenuInflater();
                inflater.inflate(R.menu.my_menu , menu);
                mCABMenu = menu;
                return true;
            }

            // Called each time the action mode is shown. Always called after onCreateActionMode, but
            // may be called multiple times if the mode is invalidated.
            @Override
            public boolean onPrepareActionMode(ActionMode mode, Menu menu) 
            {
                updateContextualBar();
                return true; …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar contextual-action-bar android-cab

5
推荐指数
1
解决办法
2681
查看次数