2010-02-09 27 views
6

我正在用EditText驅動窗口部件編寫應用程序。我想創建我自己的副本&粘貼菜單。要替換EditText上的android默認菜單,我應該怎麼做? 只需重寫長按?還是有另一種實現方式? 在此先感謝。如何編寫自己的上下文菜單進行復制和粘貼?

+0

喜做了默認的複製和粘貼功能仍然工作你做你自己的上下文菜單後? – Muddz 2015-12-01 09:23:52

回答

1

通過覆蓋菜單系統,自己創建菜單項以及您自己的內部緩衝區來實現複製/粘貼困難方式,這被認爲是標準練習。

但是,如果在平臺上有更好的方法,那不應該這樣做。重新實現平臺功能對學習有好處,但對維護不利。

社區Wiki因爲這不是一個真正的答案,我不應該得到這個代表。

+0

我的個人意見與你的意見相同,但總是客戶......,沒有實施我自己的複製和粘貼菜單是沒有辦法的。 無論如何,謝謝你的回覆。 – skysign 2010-02-09 05:06:04

+1

評論一般更好這種事情 – Casebash 2010-05-28 02:27:14

+0

@ casebash很好,因爲它被接受回答它顯然不是。 – Joshua 2010-05-28 04:00:23

2

EditText應該已經啓用了上下文菜單。如果不是,那麼你必須通過調用registerForContextMenu來啓用它。一旦啓用了上下文菜單,就必須向其添加項目。這是通過使用Menu.add methods之一在onCreateContextMenu中完成的。

困難的部分是在用戶選擇了一個選項後編寫onContextItemSelected的代碼。將文本保存到剪貼板只需調用((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText("myText");即可。但是,首先我們需要找到要複製的文本。我還沒有想出這最後一部分,但我希望我很快就會。

相關問題

+0

我做了一個自定義的文本選擇/上下文工具欄,我添加了用戶能夠使選定的文本加粗/斜體/下劃線等功能,但在定製後,默認功能複製/粘貼/剪切不再工作了,但它們的圖標仍然出現?他們怎麼能再次被激活?然而,我自己的粗體/斜體等自定義方法確實有效! – Muddz 2015-11-30 13:47:50

相關問題