XML ファイルで作成した文字列配列から sharedpreferences のデフォルト値を読み取ろうとしています。
Sharedpreferences GET Java コード:
private String getItemQuantity(String key){
SharedPreferences itemQuantitySP = getApplicationContext().getSharedPreferences("bifrostPrefs", android.content.Context.MODE_PRIVATE);
Resources res = getResources();
String[] spBifrost = res.getStringArray(R.array.spBifrost);
return itemQuantitySP.getString(key, spBifrost.toString());
}
文字列配列 XML:
<string-array name="spBifrost">
<item>Elaborate Totem (250)</item>
<item>Pile of Crystalline Dust (250)</item>
<item>Powerful Venom Sac (250)</item>
<item>Vial of Powerful Blood (250)</item>
<item>Ancient Bone (250)</item>
<item>Armored Scale (250)</item>
<item>Vicious Claw (250)</item>
<item>Vicious Fang (250)</item>
<item>Glob of Ectoplasm (77)</item>
<item>Glob of Ectoplasm (77)</item>
<item>Mystic Coin (77)</item>
<item>Obsidian Shard (77)</item>
<item>Philosophers Stone (462)</item>
<item>Badge of Honor (500)</item>
<item>Obsidian Shard (250)</item>
<item>Shard of Zhaitan (500)</item>
<item>Opal Orb (100)</item>
<item>Pile of Crystalline Dust (250)</item>
<item>Unidentified Dye (250)</item>
<item>Pile of Crystalline Dust (250)</item>
<item>Pile of Incandescent Dust (250)</item>
<item>Pile of Luminous Dust (250)</item>
<item>Pile of Radiant Dust (250)</item>
<item>Icy Runestone (100)</item>
</string-array>
これで、sharedpreferences を使用するたびに、デフォルト値が [Ljava.lang.String;@435ec530] として自動的に読み取られ、それがどこから取得され、どのように修正されるのかわかりません。24個のチェックボックスがあり、チェックボックス1に最初のアイテム、チェックボックス2に2番目のアイテムなどを使用したい.
getItemQuantity の呼び出し:
cb4.setText(getItemQuantity("cb4quantity"));
String[] spBifrost = getItemQuantity("cb4quantity").split(";");