私のxmlには2つの配列リストがあります:
<string-array name="USStates">
<item>View Latest Updates…</item>
<item>Alabama</item>
<item>Alaska</item>
<item>Arizona</item>
<item>Arkansas</item>
<item>California</item>
<item>Colorado</item>
<item>Connecticut</item>
<item>Delaware</item>
<item>District of Columbia</item>
<item>Florida</item>
<item>Georgia</item>
<item>Hawaii</item>
<item>Idaho</item>
<item>Illinois</item>
<item>Indiana</item>
<item>Iowa</item>
<item>Kansas</item>
<item>Kentucky</item>
<item>Louisiana</item>
<item>Maine</item>
<item>Maryland</item>
<item>Massachusetts</item>
<item>Michigan</item>
<item>Minnesota</item>
<item>Mississippi</item>
<item>Missouri</item>
<item>Montana</item>
<item>Nebraska</item>
<item>Nevada</item>
<item>New Hampshire</item>
<item>New Jersey</item>
<item>New Mexico</item>
<item>New York</item>
<item>North Carolina</item>
<item>North Dakota</item>
<item>Ohio</item>
<item>Oklahoma</item>
<item>Oregon</item>
<item>Pennsylvania</item>
<item>Rhode Island</item>
<item>South Carolina</item>
<item>South Dakota</item>
<item>Tennessee</item>
<item>Texas</item>
<item>Utah</item>
<item>Vermont</item>
<item>Virginia</item>
<item>Washington</item>
<item>West Virginia</item>
<item>Wisconsin</item>
<item>Wyoming</item>
</string-array>
<string-array name="USStateNumber">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>21</item>
<item>22</item>
<item>23</item>
<item>24</item>
<item>25</item>
<item>26</item>
<item>27</item>
<item>28</item>
<item>29</item>
<item>30</item>
<item>31</item>
<item>32</item>
<item>33</item>
<item>34</item>
<item>35</item>
<item>36</item>
<item>37</item>
<item>38</item>
<item>39</item>
<item>41</item>
<item>42</item>
<item>43</item>
<item>44</item>
<item>45</item>
<item>46</item>
<item>47</item>
<item>48</item>
<item>49</item>
<item>50</item>
<item>51</item>
<item>52</item>
</string-array>
誰かがデフォルトの状態を選択したときに、番号と「状態」の両方を返したいと思います。現在、# を取得していますが、状態は取得していません。代わりに、default_state であるキーを取得します。android:entries が欲しいです。
<ListPreference
android:key="default_state"
android:title="Default State"
android:summary="Please choose your state."
android:defaultValue="0"
android:entries="@array/USStates"
android:entryValues="@array/USStateNumber"
/>
情報を取得するために、次のような配列を使用しています。
for(Map.Entry<String,?> entry : keys.entrySet()){
Log.d("map values",entry.getKey() + ": " +
entry.getValue().toString());
int pref = Integer.parseInt(entry.getValue().toString());
aq.id(R.id.tvstate).text(entry.toString());
}
USStates から結果を取得するにはどうすればよいですか? コードヒントに何も表示されず、SO で何も実行されていません。
編集:
次のようにして終了しました:
//get the states
String[] states = getResources().getStringArray(R.array.USStates);
StringBuilder builder = new StringBuilder();
builder.append(sharedPrefs.getString("default_state", "1"));
int pref = Integer.parseInt(builder.toString());
//return the state at pref number.
String element = states[pref];
//show state
aq.id(R.id.tvstate).text(element);
より良い方法があるかどうかわかりませんか?