Невозможно выделить текст в EditText после отключения контекстного меню

Увидев здесь Отключить контекстное меню EditText. Я могу скрыть контекстное меню, но, к сожалению, не могу выбрать текст из текста редактирования. как мне это сделать, я имею в виду выделить текст? Вот мой код

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>
0
0
279
2

Ответы 2

измените return true на False в onLongClick. это будет работать, приятель

Можете ли вы разместить xml-код, в котором вы определяете текст редактирования?

Fazan Cheng 02.05.2018 02:14

Проверьте файл xml. также я хочу упомянуть, удаляю ли я MenuInflater inflater = mode.getMenuInflater (); inflater.inflate (R.menu.mymenu, меню); эти две строки также не отображаются в контекстном меню

Pallob 02.05.2018 02:27

мне нужно посмотреть на код, в котором вы также определяете пункт меню

Fazan Cheng 02.05.2018 02:37

ну, я не добавил ни одного элемента в меню, поэтому контекстное меню не отображается, но когда я добавляю один или несколько элементов в меню, текст выделяется, но появляется контекстное меню. Я хочу выделить текст без отображения контекстного меню, надеюсь, вы понимаете

Pallob 02.05.2018 11:19

Я нашел решение этой проблемы, как скрывая контекстное меню, так и выделяя текст. Я уже ответил на него Здесь

Другие вопросы по теме