要解决Android EditText复制/粘贴菜单问题,可以按照以下步骤进行操作:
EditText editText = findViewById(R.id.editText);
editText.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
return false;
}
});
@Override
public boolean onLongClick(View view) {
// 创建弹出式菜单
PopupMenu popupMenu = new PopupMenu(MainActivity.this, view);
// 添加复制选项
popupMenu.getMenu().add(Menu.NONE, 1, Menu.NONE, "复制");
// 添加粘贴选项
popupMenu.getMenu().add(Menu.NONE, 2, Menu.NONE, "粘贴");
// 设置菜单项点击事件监听器
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case 1:
// 执行复制操作
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("text", editText.getText().toString());
clipboard.setPrimaryClip(clip);
break;
case 2:
// 执行粘贴操作
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
editText.setText(item.getText().toString());
break;
}
return true;
}
});
// 显示菜单
popupMenu.show();
return true;
}
通过以上步骤,您可以成功解决Android EditText复制/粘贴菜单问题,并实现复制和粘贴功能。