如何在mono android c#中粘贴剪贴板到编辑文本
本文关键字:剪贴板 编辑 文本 mono android | 更新日期: 2023-09-27 17:51:19
我想将android剪贴板文本粘贴到我的编辑文本中。
var button = MainActivity.This.FindViewById<Button> (Resource.AddLinks.btn_Paste);
EditText txt_Address = MainActivity.This.FindViewById<EditText> (Resource.AddLinks.txt_Address);
button.Click += (sender,e) =>
{
txt_Address.Text=//How to Paste Android Clipbord?
};
这就像你想用Xamarin.Android做的任何事情一样。你首先需要弄清楚如何在原生Android/Java上做到这一点。然后将其转换为c#。
这是一个Android解决方案的链接Android从剪贴板管理器复制/粘贴
下面是c#中的例子:
//for copy
var clipboard = (ClipboardManager)GetSystemService(ClipboardService);
var clip = ClipData.NewPlainText("your_text_to_be_copied");
clipboard.PrimaryClip = clip;
// And paste it
var clipboard = (ClipboardManager)GetSystemService(ClipboardService);
var pasteData = "";
if (!(clipboard.HasPrimaryClip))
{
// If it does contain data, decide if you can handle the data.
}
else if (!(clipboard.PrimaryClipDescription.HasMimeType(ClipDescription.MimetypeTextPlain)))
{
// since the clipboard has data but it is not plain text
}
else
{
//since the clipboard contains plain text.
var item = clipboard.PrimaryClip.GetItemAt(0);
// Gets the clipboard as text.
pasteData = item.Text;
}
将Java翻译成c#的基本经验法则。
- setter和getter通常被翻译成属性
-
String text = item.getText(); => var text = item.Text;
-
item.setText(text); => item.Text = text;
ANDROID_CONSTANTS通常被转换为枚举或类常量字段 -
-
Context.CLIPBOARD_SERVICE => Context.ClipboardService
-
MIMETYPE_TEXT_PLAIN => ClipDescription.MimetypeTextPlain