現在我正在開發一個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