Android 上下文菜單 ActionMode

来源:https://www.cnblogs.com/zhangxuechao/archive/2019/11/04/11792445.html

public class MainActivity extends Activity { private Button button; private ActionMode actionMode; @Override protected void onCreate(Bundle savedInsta... ...


public class MainActivity extends Activity {

    private Button button;
    private ActionMode actionMode;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = (Button) findViewById(R.id.button);

        button.setOnLongClickListener(new OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                // TODO Auto-generated method stub
                if (actionMode != null) {
                    return false;
                } else {
                    actionMode = startActionMode(actionCallback);
                    v.setSelected(true);
                    return true;
                }
            }
        });
    }

    private ActionMode.Callback actionCallback = new ActionMode.Callback() {

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            // TODO Auto-generated method stub

        }

        // 從XML菜單中載入菜單
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            // TODO Auto-generated method stub

            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.main, menu);

            return true;
        }

        // 菜單被點擊
        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            // TODO Auto-generated method stub

            switch (item.getItemId()) {
            case R.id.action_add:
                Toast.makeText(MainActivity.this, "添加被點擊", 1).show();
                break;

            case R.id.action_delete:
                Toast.makeText(MainActivity.this, "刪除被點擊", 1).show();
                break;
            default:
                break;
            }

            return false;
        }
    };
}

長按顯示菜單

image

選擇菜單

image


您的分享是我們最大的動力!

更多相關文章
  • Mysql優化 一、存儲引擎 1.查看所有引擎 2.查看預設存儲引擎 3.MyISAM和InnoDB | 對比項 | MyISAM | InnoDB | | : : | : : | : : | | 主外鍵 | 不支持 | 支持 | | 事務 | 不支持 | 支持 | | 行表鎖 | 表鎖,即使操作一 ...
  • 索引的簡介: 索引分為聚集索引和非聚集索引,資料庫中的索引類似於一本書的目錄,在一本書中通過目錄可以快速找到你想要的信息,而不需要讀完全書。 索引主要目的是提高了SQL Server系統的性能,加快數據的查詢速度與減少系統的響應時間 。 但是索引對於提高查詢性能也不是萬能的,也不是建立越多的索引就越 ...
  • CREATE PROCEDURE[dbo].[WXSP_SerializeJSON](@ParameterSQL AS VARCHAR(MAX))ASBEGIN DECLARE @SQL NVARCHAR(MAX)DECLARE @XMLString VARCHAR(MAX)DECLARE @XML ...
  • 一、MySQL於keepalived簡介** 前言: 在企業中,資料庫高可用一直是企業的重中之重,中小企業很多都是使用mysql主從方案,一主多從,讀寫分離等,但是單主存在單點故障,從庫切換成主庫需要作改動。因此,如果是雙主或者多主,就會增加mysql入口,增加高可用。不過多主需要考慮自增長ID問題 ...
  • 背景: 我們是一個不大的軟體開發團隊,但是客戶遍佈全球 關於資料庫的版本控制前段時間一直沒找到特別好的方式,通過思考和不斷實踐,最近總結了一個不錯的方法,特分享給大家 做好資料庫的版本控制目的: 同時保證:開發--》測試--》客戶基線控制--》數據安全性的需要 1號資料庫(開發):主要用於開發使用, ...
  • SQL_MODE是MySQL中的一個系統變數(variable),可由多個MODE組成,每個MODE控制一種行為,如是否允許除數為0,日期中是否允許'0000-00-00'值。 為什麼需要關註SQL_MODE呢? 首先,看三個簡單的Demo(MySQL 5.6)。 1. 實際存儲值與插入值不符。 2 ...
  • private Button button; private final CharSequence[] items = { "北京", "上海", "廣州" }; @Override protected void onCreate(Bundle savedInstanceState) { super... ...
  • @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (B... ...
一周排行
  • C#中的DefaultView方法 簡介: 首先可建立一個表,對錶進行填充若幹條數據,代碼如下: //創建Table1 DataTable dt = new DataTable(); //對Table1添加列名,並設置列值類型 DataTable dt1 = new DataTable();//創建 ...
  • 1、運行程式報錯: FailFast: Couldn't find a valid ICU package installed on the system. 解決方法: yum install icu -y 2、程式運行後,本地可以訪問,但其他機器無法訪問,需要開放埠 firewall-cmd - ...
  • 只是一個Demo,所用有很多功能也沒有添加進去如分頁,輸入驗證,頁面也沒有進行精心佈局。 整體先來幾張圖解 ...
  • Core提供二種開發模式:Core Pages和Core MVC,今天介紹的是Core MVC。 1、創建web MVC項目 新建service/h_r.baseservice類庫文件、data/h_r.efdata類庫文件、common/h_r.common類庫文件。 引入需要的CSS文件和JS文 ...
  • 學習網址:https://docs.microsoft.com/zh-cn/visualstudio/get-started/visual-studio-ide?view=vs-2019 示範 vs2019: 變數的重命名的重構,更改該變數命名的同時,引用該變數的地方也會更改,如果該變數有被反射用到 ...
  • 1、在data裡面新建個Entity文件用於存放表映射,設計資料庫,執行如下語句 Scaffold-DbContext -Force "server=.;user=sunyong;password=1qaz!QAZ;database=hr;" Microsoft.EntityFrameworkCor ...
  • 1、發送郵件類,百度一大堆,這裡用的也是直接百度拿過來的 public static bool get_send_email(email email, string Title, string Body) { MailMessage mailMsg = new MailMessage(); mail ...
  • 1、添加用戶列表控制器,用於用戶列表顯示,登錄,增刪改查,郵件發送,下載 public userlistController(MainDbContext _db, ILogger<operatorlog> _logger, IOptions<email> sendMail) { db = _db; ...
  • 1、用戶列表頁面 @{ Layout = Layout = null;}<table id="datalistuser" class="easyui-datagrid" url="/userlist/getuserlist" toolbar="#toolbaruser" rownumbers="tr ...
  • 1、引用包 Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.SqlServer Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation Microsoft.AspNetCo ...