gpt4 book ai didi

android - Mono Droid 模态弹出窗口

转载 作者:搜寻专家 更新时间:2023-11-01 09:02:04 26 4
gpt4 key购买 nike

我想知道如何(如果可能的话)在单声道中为机器人应用程序创建模式弹出窗口。

场景:应用程序与客户托管的网络服务器对话(因此这个位置因客户而异)。要使用该应用程序,用户必须指定其 Web 服务器的连接字符串。因此,当应用程序启动并触发主要 Activity 时,我要做的第一个任务是检查设备应用程序设置中是否设置了连接字符串。如果不是,我想抛出一个简单的模式弹出窗口,允许用户指定到他们服务器的连接。

我真的不想开始一个正常的 Activity ,因为用户将能够点击后退按钮并返回到主菜单,而应用程序处于无效状态,因为它不知道要与哪个服务器通信。

关于我如何处理这件事有什么想法吗?

或者我是否应该构建 Activity 链,以便在第一个 Activity 中输入连接字符串,这样如果他们点击返回,它实际上就会退出应用程序?

我有点困惑。

提前致谢

最佳答案

这可以通过 AlertDialog 实现。它可以使用列表、复选框、是/否按钮和自定义 View 创建用于简单输入的对话框。

Xamarin Sample Repository 中有一个示例对于不同类型的对话框,您可以在底部找到一个添加了带有用户名和密码字段的自定义 View 的对话框。

因此,首先定义要放入 AlertDialog 中的自定义 View 。 alert_dialog_connection_entry.xml 并且是一个 Layout:

在您的 Activity 中的某处添加代码:

var connection_string_view = LayoutInflater.Inflate(Resource.Layout.alert_dialog_connection_entry, null);

var builder = new AlertDialog.Builder(this);
builder.SetTitle("Connection String");
builder.SetView(connection_string_view);
builder.SetPositiveButton("OK", OkClicked);
builder.SetNegativeButton("Cancel", CancelClicked);
builder.Create();
builder.Show();

为按钮添加一些处理程序:

private void CancelClicked(object sender, DialogClickEventArgs dialogClickEventArgs)
{
//Todo
}

private void OkClicked(object sender, DialogClickEventArgs dialogClickEventArgs)
{
var dialog = sender as AlertDialog;

if (null != dialog)
{
var connectionEdit = dialog.FindViewById(Resource.Id.connectionstring_edit) as EditText;


if (null != connectionEdit)
Console.WriteLine("Connection String: {0}", connectionEdit.Text);
}
}

应该是这样的。您应该能够在对话框中放置任何类型的自定义 View 。

关于android - Mono Droid 模态弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14390058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com