アプリケーションを作成していて、特定のリソースに関連する設定を一貫して保存およびロードするための助けが必要です。例を挙げましょう。
10 個のスピナーがあるとします。これらはすべて同じ機能を持ちますが、意味が異なります。これらは同じ機能を持っているため、同じ にバインドできonItemSelectedListener
ます。これにより、選択した値が処理されます。
では、各スピナーの設定も保存したい場合はどうすればよいでしょうか? たとえば、スピナー値が選択されている場合、キー「スピナーSOMETHING」= SOME_DATA を保存します。
問題は、これは何であるべきかということです。リスナーには次の署名があります。
public void onItemSelected(AdapterView parent, View v, int position, long id)
位置と ID は、各スピナーに対して相対的に設定されるため、ここでは役に立ちません。
ただし、この場合はスピナー自体である親には、必要なすべての情報が含まれている必要があります。各スピナーのリソースIDを取得し、キー「スピナーID」を使用して設定を保存するためにparent.getId()を使用しようとしましたが、アプリにリソースを追加するとこれらのリソースIDが変更されるようです。キーが変わります。
ここで何をすべきですか?各スピナーの一貫した名前を返す単純なparent.getName()関数が見つからないようです。
ありがとうございました。