我想将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?
};
答案 0 :(得分:6)
这就像你想用Xamarin.Android做的其他事情一样。您需要首先了解如何在原生Android / Java上进行操作。然后将其转换为C#。
这是指向Android解决方案Android copy/paste from clipboard manager
的链接以下是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#的基本经验法则。
String text = item.getText(); => var text = item.Text;
item.setText(text); => item.Text = text;
Context.CLIPBOARD_SERVICE => Context.ClipboardService
MIMETYPE_TEXT_PLAIN => ClipDescription.MimetypeTextPlain
有关详细信息,请参阅http://docs.xamarin.com/guides/android/advanced_topics/api_design/。