У меня есть функция js getState (), которая возвращает свойство css (блок или нет) элемента, но оно не работает, Visual Studio выдает некоторые сообщения Thread:
09-14 23:30:22.081 W / WebView (6707): java.lang.Throwable: метод потока был вызван в потоке «Thread-12».Все методы WebView должны вызываться в одном потоке.(Ожидается, что Looper Looper (main, tid 2) {4aca651} вызван на нуль, основной FYI Looper - это Looper (main, tid 2) {4aca651}) 09-14 23: 30: 22.081 W / WebView (6707): на андроиде.webkit.WebView.checkThread (WebView.java:2539) 09-14 23: 30: 22.081 W / WebView (6707): atroid.webkit.WebView.evaluateJavascript (WebView.java:1054) Тема завершена: # 4
Может кто-нибудь выяснить, где ошибка?Кроме того, когда это работает, возвращаемый тип может быть связан с текстом метки, или это не будет простая строка?
Мой код:
public static Label label1;
public static WebView webnav;
StackLayout parent = null;
public MainPage()
{
InitializeComponent();
webnav = new WebView
{
HeightRequest = 1000,
WidthRequest = 1000,
Source = "https://www.example.com/test.html",
};
webnav.Navigated += WebView_Navigated;
label1 = new Label
{
WidthRequest = 900,
HeightRequest = 60,
Text = "default text"
};
parent = new StackLayout();
parent.Children.Add(webnav);
parent.Children.Add(label1);
Content = parent;
}
public void WebView_Navigated(object sender, WebNavigatedEventArgs e)
{
Task.Run(JSRun);
}
public static string retorno;
public static async Task JSRun()
{
retorno = await webnav.EvaluateJavaScriptAsync("getState();");
}