在Android中格式化Edittext的菜单

时间:2015-03-28 04:28:35

标签: android android-edittext

我尝试创建一个能够在EditText中格式化所选文本的笔记应用程序,就像我在Onenote中经常使用的那样。但每次我点击我的菜单图标时,EditText中的所选文本都会被重置,菜单会自动关闭。

这是我自定义编辑文字中的代码

 public void init()
{
    this.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            MenuInflater inflater = mode.getMenuInflater();
            inflater.inflate(R.menu.edit_text_menu, menu);
            return true;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            return true;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {

        }
    });
}

菜单布局

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_bold"
        android:title="Bold"/>
    <item android:id="@+id/action_underline"
        android:title="Underline"/>
    <item android:id="@+id/action_italic"
        android:title="Italic"/>
</menu>

onenote菜单的屏幕截图 http://i57.tinypic.com/zlriu9.png

我的应用的截图 http://i58.tinypic.com/2yjwlys.jpg

EditText 制作菜单以正确格式化所选文字的正确方法是什么?

更新!已经找到了一个我认为目前可行的解决方案
我只需要覆盖onWindowFocusChanged函数,所以当我点击另一个菜单时,它不会丢失它的选择。

0 个答案:

没有答案