2012-04-15 41 views
0

我想讓ListPreference與關鍵字「map_mode」在我的MapActivity.java中設置實際的地圖模式。因此,當我在「首選項」屏幕中單擊「衛星」時,它會在地圖上更改。如何:ListPreference上的監聽器更改Google Map模式?

我有一個ListPreference設置這樣的settings.xml(preference.xml):

<PreferenceCategory 
     android:key="settings" 
     android:title="Settings" > 
    <CheckBoxPreference 
     android:defaultValue="true" 
     android:key="map_settings" 
     android:summary="Enable or Disable Map Settings" 
     android:title="Enable Map Settings" /> 

    <ListPreference 
     android:defaultValue="Map" 
     android:dependency="map_settings" 
     android:entries="@array/mapMode" 
     android:entryValues="@array/mapModeValues" 
     android:key="map_mode" 
     android:summary="Change the display of the map" 
     android:title="Map Mode" /> 
</PreferenceCategory> 

的 「map_mode」 被讀取陣列的值從這個arrays.xml

​​

謝謝。

這是PreferenceScreen。當用戶按下其中一個選項時,我想讓它更新MapActivity。

PreferenceScreenMapActivity

回答

0

有你的電話MapActivityregisterOnSharedPreferenceChangeListener(),然後處理您OnSharedPreferenceChangeListenerSharedPreference變化。

或者,只需重新閱讀並應用onResume()中的首選項,因爲您的PreferenceActivityMapActivity不會同時在屏幕上顯示。

+0

我怎麼把這個代碼?如果你有空,你可以快速上傳一個例子嗎? – Zukky 2012-04-15 17:06:00

+0

Btw歡呼的方向。 – Zukky 2012-04-15 17:08:15

+0

我無法得到這個工作。試過你說的話。額外的指針,請交配。 – Zukky 2012-04-15 17:47:57