Увидев здесь Отключить контекстное меню 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>
измените return true на False в onLongClick. это будет работать, приятель
Проверьте файл xml. также я хочу упомянуть, удаляю ли я MenuInflater inflater = mode.getMenuInflater (); inflater.inflate (R.menu.mymenu, меню); эти две строки также не отображаются в контекстном меню
мне нужно посмотреть на код, в котором вы также определяете пункт меню
ну, я не добавил ни одного элемента в меню, поэтому контекстное меню не отображается, но когда я добавляю один или несколько элементов в меню, текст выделяется, но появляется контекстное меню. Я хочу выделить текст без отображения контекстного меню, надеюсь, вы понимаете
Я нашел решение этой проблемы, как скрывая контекстное меню, так и выделяя текст. Я уже ответил на него Здесь
Можете ли вы разместить xml-код, в котором вы определяете текст редактирования?