zoukankan      html  css  js  c++  java
  • ListView多选操作模式——上下文操作模式

    1.什么叫上下文操作模式

    2.如何进入上下文操作模式

    1.ListView自身带了单选、多选模式,可通过listview.setChoiceMode来设置:

    listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//开启多选模式
    listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//开启单选模式
    listview.setChoiceMode(ListView.CHOICE_MODE_NONE);//默认模式
    listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);//开启多选模式
    2.为ListView实现AbsListView.MultiChoiceModeListener接口的监听
    public abstract void onItemCheckedSstateChanged(ActionMode mode,int position,long id,boolean checked)
    //当视图在选中或撤销选中时会触发它
    会有必须实现的四个方法:
    public abstract boolean onCreateActionMode(ActionMode mode,Menu menu)
    //实例化菜单资源,显示在上下文操作栏上
    public boolean onCreateActionMode(ActionMode mode,Menu menu){
        MenuInflater inflater = mode.getMenuInflater();
        inflater.inflate(R.menu.crime_list_context,menu);//加载视图
        return true; //返回true才会被执行
    }

    public abstract boolean onPrepareActionMode(ActionMode mode,Menu menu)

    //上下文操作栏需要刷新显示新数据时候使用

    public abstract boolean onActionItemClicked(ActionMode mode,MenuItem item)

    //用户选中某个菜单项的时候调用

    public abstarct void onDestoryActionMode(ActionMode mode)

    //ActionMode将要销毁的时候调用 

    3.小技巧

    上下文选中的时候颜色是不变的,所以需要自己改变颜色。需要指定一个selector来改变颜色。

    <selector>
      <item
        android:state_actived="true"
        android:drawable="#000"
      />
    </selector>
  • 相关阅读:
    Error (0xc0000225) installing Windows 8 R2 on VirtualBox
    网页宽高自适应大小
    C# Java DES加密解密
    JS获取DropDownList的value值与text值
    用Aspose.Cells控件读取Excel
    Extending your SharePoint 2007 site with Microsoft ASP.NET AJAX 3.5
    页面自定义拖拽布局
    OutLook 2010 收件箱子文件夹收到新邮件时没有桌面通知
    PeopleEditor的取值及赋值
    deprecate (声明不赞成)
  • 原文地址:https://www.cnblogs.com/rookiechen/p/5239343.html
Copyright © 2011-2022 走看看