c# - 如何从 Xamarin Forms 代码打开或访问 Android 片段中的数据?

标签 c# android-fragments xamarin xamarin.forms xamarin.android

我有一个 Android 片段,它有一个输出十六进制字符串的函数。我需要某种方法从 Xamarin Forms 代码打开此片段,或将字符串发送到我的 Xamarin Forms 页面。

我尝试实现一个 MessagingCenter 脚本,将字符串发送到我的 Xamarin Forms 代码,但我的问题是我无法弄清楚如何从 Forms 创建启动 Android 片段的意图。我需要的是某种方式,当在表单中按下按钮时,它会调用 Fragment 或使用该 Fragment 打开 Android 页面。

Xamarin 表单:

private void OnGenerate(object sender, EventArgs e)
{
    MessagingCenter.Subscribe<App, string>(App.Current, "OpenPage", (snd, arg) =>
    {
        Device.BeginInvokeOnMainThread(() => {
            tagLabel.Text = arg;
        });
    });
}

最佳答案

为什么不直接使用 Preferences API ?您只需将 nuget 包添加到您的 Core 和 Android 项目中即可。

然后在您的 Android 项目中,存储该值

Preferences.Set("my_key", "my_value");

在您的核心项目中,您可以使用以下方法获取该值

var myValue = Preferences.Get("my_key", "default_value");

关于c# - 如何从 Xamarin Forms 代码打开或访问 Android 片段中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56839958/

相关文章:

ios - Xamarin iOS 项目 Info.plist 在 App Store 上提交时出现问题

c# - 我们如何在编辑模式(Unity3d)中销毁子对象?

android - setCustomAnimation 回调前后的 FragmentTransaction

c# - 如何在c#中关闭xmldocument

java - float 操作按钮滚动奇怪的行为

java - 切换 fragment 时滑动选项卡滞后

c# - WCF:为 .NET Core/.NET Standard 预生成 xml 序列化代码

c# - 使用 ClosedXML 如何根据内容调整行高?

c# - 如何在 Web 应用程序中更改文本框输入语言

Android - 与 android :id 具有不同 ID 的 fragment