现在我正在开发一个Android应用程序,该应用程序要求允许用户剪切复制并粘贴到editText
字段。但是当我从其他地方复制格式化的字符串(即带下划线的字符串)并将其粘贴到editText
字段时,它会将其显示为格式化版本。我如何删除它?如何从Android上的剪贴板粘贴时删除文本格式
我试图添加一个textwatcher
加入addTextChangedListener
,并在后文本更改我只是做edittext.setText(s.toString()+"")
但这会创建一个无限循环。 :(
请帮助!在此先感谢。
编辑---- 我已经通过设置setCustomSelectionActionModeCallback
editDestination_.setCustomSelectionActionModeCallback(new Callback() {
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {return true;}
@Override
public void onDestroyActionMode(ActionMode mode) {}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
menu.removeItem(android.R.id.paste);
menu.removeItem(android.R.id.selectAll);
menu.add(0, CUSTOM_PASTE, 0, "Paste").setIcon(R.drawable.paste_ic);
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case CUSTOM_PASTE:
edittext.setText(readFromClipboard(aContext_));
// Finish and close the ActionMode
mode.finish();
return true;
default:
break;
}
return false;
}
});
这是相当不错的了一定的进展,直到我意识到有两种类型剪切/复制/粘贴到我的手机上,一个是当编辑文本为空时,我长时间点击该字段,这将弹出一个菜单;另一个是当字段中有文本,当我长时间点击,这会在我的动作栏下方显示一个剪切/复制/粘贴栏。我的上面的代码只影响栏下的动作栏o东北。 :(
感谢您的答复,但是这并不工作:(我将此作为normalText风格<颜色名称=“黑”>#000000 <样式名称=“normalText”父=“@机器人: style/TextAppearance.Holo.Widget.EditText“>- 30sp
- @ color/Black
- 正常
–
2014-09-01 19:16:12
您现在面临的问题是什么? – 2014-09-02 02:46:51