2012-02-08 21 views
0

共有環境設定のセットアップで2つの配列が使用されています。私のすべてのListPreferenceは、異なるandroid:entryValuesを使用するものを除いて動作します。共有優先度は常にデフォルト値を返します

私はアンドロイドをリコールする方法を見つけようと高値と低値を検索しました:entryValuesこの問題に特有のものは何も見つかりません。

キー名を使用するとクラッシュします。

コードを強調します。

XML設定。

<ListPreference 
    android:title="Item Size" 
    android:summary="Set the item size." 
    android:key="itemSize" 
    android:defaultValue="Medium" 
    android:entries="@array/itemSize" 
    android:entryValues="@array/itemSizeNumbers" 
/> 

XMLは_items_screen_percentageはいつもどんな12を返さない

<string-array name="itemSize"> 
    <item>Small</item> 
    <item>Medium</item> 
    <item>Large</item> 
</string-array> 
<string-array name="itemSizeNumbers"> 
    <item>8</item> 
    <item>12</item> 
    <item>18</item> 
</string-array> 

値。

this._items_screen_percentage = this.prefs.getInt("itemSizeNumbers", 12); 
Log.w("Item Size",Integer.toString(this._items_screen_percentage)); 

誰もが共有設定からEntryValuesを取得する簡単な方法を知っていますか?

答えて

0

キー名はitemSizeなので、itemSizeではなくitemSizeNumbersのプリファレンスをクエリする必要があります。また、文字列配列なので、結果は整数ではなく文字列になります。

+0

あなたのおかげで、私の顔を見つめてくれてありがとうございました:-( –

+0

getIntから取得した位置でitemSizeNumbers配列をクエリします。 – Peterdk

+0

私にその例を教えてもらえますか? –

関連する問題