不過測試的時候發現有些許bug,並且在華為手機上刪除話題不能被選中,於是就基於參考帖子的實現思路,對其中壹些東西進行了修改,並適配了華為(原因是通過 KeyCode==KeyEvent.KEYCODE_DEL竟然監聽不到華為個別機型的刪除鍵)手機.
1.通過onSelectionChanged()監聽光標的位置,來判斷光標是否被選中在話題文字內部,如果在話題內部,則將光標定位到話題結束處.
2.添加addTextChangedListener(),監聽文字變化.如果是刪除文字動作,則遍歷TEditText內部的list,判斷是否有話題,如果有並且刪除的是話題,則對話題進行選中.最後,刷新TEditText的UI展示.
如圖1是添加話題的效果
圖2是話題被選中的效果
源碼和TEditText使用訪問我