Как я могу получить доступ или передать пользовательский объект из / в другой активности Android в xamarin - PullRequest
0 голосов
/ 12 июня 2018

Итак, у меня есть объект Custom, называемый соединитель, который содержит резьбовое гнездо для связи с Arduino без блокировки пользовательского интерфейса.Но я хочу получить доступ к этому сокету с нескольких экранов / действий.

Я попытался использовать статический класс для содержания объекта, как в этом ответе:

Перенос сокета из одного действия в другое

Но я продолжаю получать сообщение об ошибке «имя не существует в текущем контексте» при попытке получить доступ к нему из другой деятельности.

вот код для моего класса хранения:

public class ConnectorManager
{
    private static Connector connectorObject;

    public static Connector GetConnector()
    {
        return connectorObject;
    }

    public static void SetConnector(Connector connector)
    {
        connectorObject = connector;
    }
}

edit1: вот как я пытаюсь использовать класс:

ConnectorManager.SetConnector(connector);
Connector connector = ConnectorManager.GetConnector();

edit2:

после удаления файла кода и создания нового файла, проблема волшебным образом исправленасам

Ответы [ 2 ]

0 голосов
/ 22 июня 2018

Я бы пошел со вторым подходом, упомянутым в приведенном вами примере.Фактически, я делаю это для большей части моих коммуникационных вещей.

[Application]
public class AppApplication : Application
{
    public ConnectorManager ConnectorManager { get; set; }

    public AppApplication(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
    {
        //if you can/want create and assign your manager here
    }
}

В любой деятельности вы можете получить доступ к свойству приложения, например так:

((AppApplication)Application).ConnectorManager;
0 голосов
/ 12 июня 2018

Не могли бы вы добавить пример кода, как вы вызывали статическую переменную connectorObject в различных действиях?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...