首页 > 解决方案 > 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;
}

在此处输入图像描述

标签: c#visual-studiounity3d

解决方案


IndexOf方法应该处理 中的重复项mylist,但您总是调用dropi.AddOptions(mylist);将再次添加列表内容的方法。

您应该在方法开始时清除mylist并调用,这种情况在您的情况下是可能的。这样你也摆脱了。dropi.ClearOptions();Loadif( ...IndexOf("") == -1)


推荐阅读