【问题标题】:Unable to Select text in EditText after disabling the context menu禁用上下文菜单后无法在 EditText 中选择文本
【发布时间】:2018-05-01 23:31:33
【问题描述】:

看到这里后Disable EditText context menu 。我能够隐藏上下文菜单,但不幸的是我无法从编辑文本中选择文本。我该怎么做,我的意思是选择文本?这是我的代码

import android.app.Activity;
import android.os.Bundle;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText=findViewById(R.id.myid);
    editText.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {

            return true;
        }
    });
    editText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {

            menu.clear();
            MenuInflater inflater=mode.getMenuInflater();
            inflater.inflate(R.menu.mymenu,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) {

        }
    });

}
}

这是xml文件

   <?xml version="1.0" encoding="utf-8"?>
   <android.support.constraint.ConstraintLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context="pallob.example.com.customedit.MainActivity">

   <EditText
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/myid"
   android:gravity="top|left"
   />
 </android.support.constraint.ConstraintLayout>

【问题讨论】:

    标签: android textselection


    【解决方案1】:

    在 onLongClick 中将 return true 更改为 False。它会工作的伙伴

    【讨论】:

    • 你能把xml代码贴在你定义edittext的地方吗?
    • 检查 xml 文件。我还想提一下,如果我删除 MenuInflater inflater=mode.getMenuInflater(); inflater.inflate(R.menu.mymenu,menu);这两行也没有显示上下文菜单
    • 我还需要查看您定义菜单项的代码
    • 好吧,我没有在菜单上添加任何项目,这就是上下文菜单没有显示的原因,但是当我在菜单上添加一个或多个项目时,文本被选中,但上下文菜单是出现。我想在不出现上下文菜单的情况下选择文本希望您理解
    【解决方案2】:

    我找到了解决这个问题的方法,既可以隐藏上下文菜单,也可以选择文本。我已经回答了Here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      相关资源
      最近更新 更多