0

我的应用程序包含多个微调器,允许用户快速填写表格。我正在尝试添加一个功能,如果用户无法在微调器中找到最佳答案,则微调器底部有一个标记为“添加答案”的选项。

我了解单击“添加答案”时如何注册,并打开带有 TextView 条目的 AlertDialog:

case R.id.C1Lspin:     
            if(C1LSpin.getSelectedItem() == "Add Option..."){
                addOption(C1LAdapter); //call AlertDialog
            }
        break;

我的问题是从 AlertDialog 返回时我正在努力通知应该更新哪个微调器选项列表。我的直觉是捆绑特定微调器的 arrayAdapter,以便当我覆盖 AlertDialog 正按钮时,它可以使用已捆绑的 arrayAdapter。

有什么方法可以捆绑 arrayAdapter 以通过 AlertDialog 传递。我还想知道是否有任何其他方式来通知 AlertDialog 的覆盖函数,以便它知道要更新哪个 Spinner arrayAdapter。我计划拥有大约 10 个微调器,所以我真的不想为每个微调器创建一个特定的 AlertDialog。

4

1 回答 1

0

我最终使用了一个类引用变量。我在启动异步进程之前设置了引用,然后在从进程返回时抓取引用变量,然后使用,并将其设置为 null 以避免任何数据泄漏。

不花哨或时尚,但现在它有效。

于 2020-05-26T00:57:28.617 回答