Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将剪贴板粘贴到mono android c#中的edittext?_C#_Android_Xamarin.android - Fatal编程技术网

如何将剪贴板粘贴到mono android c#中的edittext?

如何将剪贴板粘贴到mono android c#中的edittext?,c#,android,xamarin.android,C#,Android,Xamarin.android,我想将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) =>

我想将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?

};
var button=MainActivity.This.findviewbyd(Resource.AddLinks.btn\u粘贴);
EditText txt_Address=MainActivity.This.FindViewById(Resource.AddLinks.txt_Address);
按钮。单击+=(发件人,e)=>
{
txt_Address.Text=//如何粘贴Android剪贴簿?
};

这就像你想用Xamarin.Android做的任何事情一样。您需要首先了解如何在本机Android/Java上实现这一点。然后将其转换为C#

这里有一个Android解决方案的链接

下面是C#中的例子:

将Java翻译成C#的基本经验法则

  • setter和getter通常被转换为属性
    • String text=item.getText();=>var text=item.text
    • item.setText(文本);=>item.Text=文本
  • ANDROID_常量通常转换为枚举或类常量字段
    • Context.CLIPBOARD\u服务=>Context.ClipboardService
    • MIMETYPE\u TEXT\u PLAIN=>ClipDescription.MimetypeTextPlain

有关更多信息,请参阅。

它与您希望使用Xamarin.Android执行的任何其他操作一样。您需要首先了解如何在本机Android/Java上实现这一点。然后将其转换为C#

这里有一个Android解决方案的链接

下面是C#中的例子:

将Java翻译成C#的基本经验法则

  • setter和getter通常被转换为属性
    • String text=item.getText();=>var text=item.text
    • item.setText(文本);=>item.Text=文本
  • ANDROID_常量通常转换为枚举或类常量字段
    • Context.CLIPBOARD\u服务=>Context.ClipboardService
    • MIMETYPE\u TEXT\u PLAIN=>ClipDescription.MimetypeTextPlain

有关更多信息,请参阅。

我测试了此代码,但我的解决方案或命名空间中不存在ClipData类…如何在我的应用程序中使用此类?编译API级别设置为什么?如果您的年龄小于11岁,则可以使用剪贴板。文本是在蜂巢中添加的。你真的需要再看看Android docs.Android API有一点变化,取而代之的是ClipData.NewPlainText(“你的文本被复制”);我们必须编写ClipData.NewPlainText(“标签”,“您的文本将被复制”)。其中label是剪辑数据的用户可见标签,是存储在Clipboard中的数据的标记粘贴事件是什么?我想在粘贴发生时运行一些代码。我测试了这段代码,但我的解决方案或命名空间中不存在ClipData类…如何在我的应用程序中使用它?编译API级别设置为什么?如果您的年龄小于11岁,则可以使用剪贴板。文本是在蜂巢中添加的。你真的需要再看看Android docs.Android API有一点变化,取而代之的是ClipData.NewPlainText(“你的文本被复制”);我们必须编写ClipData.NewPlainText(“标签”,“您的文本将被复制”)。其中label是剪辑数据的用户可见标签,是存储在Clipboard中的数据的标记粘贴事件是什么?我想在粘贴发生时运行一些代码。
//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;
}