gpt4 book ai didi

android - Android 单声道 : Spinner ItemSelected event triggers on load but shouldn't?

转载 作者:行者123 更新时间:2023-11-29 14:52:08 26 4
gpt4 key购买 nike

我有一个带有一些值的微调器,我从我的网络服务中填充它。

填充微调器

int i = 0;

var dropItems = new List<SpinItem2>();

DataRow[] result = myOPTvalues.Tables[0].Select("FieldValue=" + item.FieldValue);
foreach (DataRow row in result)
{
var optItem = new PrevzemSpin();
optItem.FieldValue = row["FieldValue"].ToString();
if (optItem.FieldValue.Equals(""))
optItem.FieldValue = null;

optItem.FieldTextValue = row["FieldTextValue"].ToString();
if (optItem.FieldTextValue.Equals(""))
optItem.FieldTextValue = null;

dropItems.Add(new SpinItem2(i, optItem.FieldValue.ToString(), optItem.FieldTextValue.ToString()));
}

i = 1;
foreach (DataRow row in myOPTvalues.Tables[0].Rows)
{
var optItem = new PrevzemSpin();
optItem.FieldValue = row["FieldValue"].ToString();
if (optItem.FieldValue.Equals(""))
optItem.FieldValue = null;

optItem.FieldTextValue = row["FieldTextValue"].ToString();
if (optItem.FieldTextValue.Equals(""))
optItem.FieldTextValue = null;


if (optItem.FieldValue != item.FieldValue)
{
dropItems.Add(new SpinItem2(i, optItem.FieldValue.ToString(), optItem.FieldTextValue.ToString()));
}
++i;
}

出于某种原因,它就像先插入的项目在默认情况下被“选中”,然后触发 ItemSelected 事件,我用它来发送选中的,但我不希望这样。

因为我的屏幕上有很多这样的微调器,它确实减慢了 Activity 速度,而且它还会向字段发送不正确的值,因为我使用 ItemSelect 来检测是否一切正常(假设服务下降或当用户完成表单等时,值本身在服务器上发生了变化(有人在服务器应用程序上添加了一个新字段)

是否可以通过某种方式告诉应用不要在 Activity 加载时触发它,而是在实际用户交互时触发?

最佳答案

我不能专门针对 Android 说话,但我在 Windows 上遇到过很多次。

我通常使用的解决方案是简单地添加一个 bool 型 loading 变量。在初始化开始时将其设置为 true,然后在结束时将其清除。

在像 ItemSelected 这样的事件处理程序中,您可以简单地检查它是否作为初始加载的结果被触发。

private void onItemSelected(....)
{
if(loading)
{
return; //Ignore as form is still loading
}

//Normal event handling logic goes here
....
}

关于android - Android 单声道 : Spinner ItemSelected event triggers on load but shouldn't?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14808094/

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