my *_*lls 7 android nsrunloop xamarin.android
我们使用静态警报对话框来获取用户对某些操作的确认.在我们打电话中,Show()我们想要保持控制,直到用户点击一个按钮,这样我们就可以在Show()通话结束时返回按钮点击结果.
我们的iOS版本(a UIAlertView)使用
while (displayed)
{
MonoTouch.Foundation.NSRunLoop.Current.RunUntil(
MonoTouch.Foundation.NSDate.FromTimeIntervalSinceNow(0.2));
}
Run Code Online (Sandbox Code Playgroud)
在其Show()方法中,在返回其按钮选择之前等待用户输入.
我们可以在Monodroid中使用Android吗?
通过不同的设计解决:
我们不是等待用户与对话框交互并阻止其他一切,而是在对用户单击按钮时触发的EventHandler静态方法的调用中提供一个:Show
public static void Show(string title,
string message,
Context context,
EventHandler handler,
ConfirmationAlertButton button) { ... }
Run Code Online (Sandbox Code Playgroud)
我们维护一个对传入的私有引用,EventHandler该引用在单击按钮时触发,如下所示:
private static void OkClicked(object sender, DialogClickEventArgs e)
{
if (_handler != null)
{
_handler.Invoke(sender, e);
}
_instance.Dismiss();
_instance = null;
_handler = null;
}
Run Code Online (Sandbox Code Playgroud)
Show以下是从 Activity 进行调用的示例:
ConfirmationDialog.Show(@"Message title",
@"Message text",
this,
delegate
{
if (e.Result)
{
Finish();
}
else
{
Invalidate();
}
},
ConfirmationAlertButton.OK);
Run Code Online (Sandbox Code Playgroud)
如果有人想了解有关在 Xamarin Android 应用程序中使用静态对话框的更多信息,请告诉我!
| 归档时间: |
|
| 查看次数: |
4208 次 |
| 最近记录: |