c# - Unity3D如何停止下拉重复添加?
问题描述
当按下加载按钮时,我尝试使用保存文件创建下拉列表问题是当我按下加载按钮时,它再次加载相同的文件我尝试 indexof 但仍然复制文件我如何解决这个问题?!
string[] getfilesname()
{
string folderPath = Path.Combine(Application.persistentDataPath, foldername);
string[] filePaths = Directory.GetFiles(folderPath, "*.txt");
foreach (string file in filePaths)
{
var onlyFileName = Path.GetFileNameWithoutExtension(file);
if (mylist.IndexOf(onlyFileName) == -1)
{
mylist.Add(onlyFileName);
}
Debug.Log(onlyFileName);
}
dropi.AddOptions(mylist);
return filePaths;
}
解决方案
该IndexOf
方法应该处理 中的重复项mylist
,但您总是调用dropi.AddOptions(mylist);
将再次添加列表内容的方法。
您应该在方法开始时清除mylist
并调用,这种情况在您的情况下是可能的。这样你也摆脱了。dropi.ClearOptions();
Load
if( ...IndexOf("") == -1)
推荐阅读
- rundeck - 没有 LOG 的 $RDECK_HOME/server/logs/rundeck.*.log
- javascript - 是的,当用户单击提交按钮时,未验证复选框
- objective-c - 如何在 swift 中将一天添加到 UIDatePicker() 选定日期?
- html - 如何在 Django 中显示包装在 url() 中的图像
- c++ - 基于 C++ 范围的 for 循环和元素副本
- c++ - 如何在 Allegro 的屏幕中显示子位图的绘制?
- javascript - 将元素从一个 div 移动到另一个,并删除具有相同 id 的重复项
- php - 为什么我检查整数的 if 条件不起作用?
- android - 点击问题上的多个编辑文本字段
- c# - SQL Server 存储过程 - 无效的列名