我正在编写一个应用程序,需要一些帮助来一致地存储和加载与某些资源相关的首选项。让我举个例子吧。
假设我有 10 个微调器。它们都具有相同的功能,但含义不同。因为它们具有相同的功能,所以我可以将它们绑定到相同的onItemSelectedListener
,然后它将处理选定的值。
好吧,如果我还想存储每个微调器的首选项怎么办?For example, when a spinner value is selected, I'd store a key "spinner SOMETHING " = SOME_DATA.
问题是 - 这应该是什么?侦听器具有以下签名:
public void onItemSelected(AdapterView parent, View v, int position, long id)
position 和 id 在这里没有帮助,因为它们是相对于每个微调器设置的。
但是,在这种情况下是微调器本身的父级应该拥有我需要的所有信息。我尝试使用 parent.getId() 获取每个微调器的资源 ID,并使用键“微调器 ID”存储首选项,但显然这些资源 ID 在您向应用程序中添加更多资源时会发生变化,因此我的设置将被重置,因为键改变。
我应该在这里做什么?我似乎找不到某种简单的 parent.getName() 函数来返回每个微调器的一致名称。
谢谢你。