小编den*_*nno的帖子

如何从异步方法返回一个对象(c# - xamarin.forms)?

在Xamarin.Forms应用程序中,我使用GeoLocator来检索有关我的位置的信息.该方法是异步的.我必须返回包含位置参数的对象,但我不能.

这是我的类PositionPage的构造函数

public PositionPage()
{           
    getCurrentPosition();

    var map = new Map(
    MapSpan.FromCenterAndRadius(
        new Position(45.987487, 9.366337), Distance.FromMiles(0.3)))
        {
            IsShowingUser = true,
            HeightRequest = 100,
            WidthRequest = 960,
            VerticalOptions = LayoutOptions.FillAndExpand
        };
    var stack = new StackLayout { Spacing = 0 };
    stack.Children.Add(map);
    Content = stack;            
}
Run Code Online (Sandbox Code Playgroud)

这是异步方法(现在是一个void方法):

public async void getCurrentPosition() 
{
    try
    {
        var locator = CrossGeolocator.Current;
        locator.DesiredAccuracy = 50;

        var position = await locator.GetPositionAsync(timeoutMilliseconds: 10000);

        Debug.WriteLine("Position Status: {0}", position.Timestamp);
        Debug.WriteLine("Position Latitude: {0}", position.Latitude);
        Debug.WriteLine("Position Longitude: {0}", position.Longitude);                
    }
    catch …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous async-await xamarin xamarin.forms

2
推荐指数
2
解决办法
6304
查看次数

自定义对话框关闭后,在Android中隐藏软键盘

我遇到了一个editText的情况.当我在编辑文本中按添加时,我在列表中添加成员.何时添加(或不添加)我正在打开自定义对话框.

在我的活动中,当点击编辑文本中的添加按钮时,我有这个代码:

  customDialogTeamMember = new CustomDialogTeamMember(............);
  customDialogTeamMember.makeDialog();
  editText.getText().clear();
  editText.clearFocus();
  hideSoftKeyboard();
Run Code Online (Sandbox Code Playgroud)

我的hideSoftKeyboard()定义如下:

public void hideSoftKeyboard() {
    this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
Run Code Online (Sandbox Code Playgroud)

此方法适用于应用程序的其他部分.但这里没有用!

自定义对话框打开.当我关闭它时,键盘保持在屏幕上.可能是什么问题呢?!

keyboard android customdialog android-edittext

0
推荐指数
1
解决办法
4044
查看次数