我需要有比我更多经验的人的帮助,我已经开始不太时间研究如何为Android编写应用程序,但无论如何,我解释了这个问题。
在我的应用程序中,我想使用3 checkboxPreference更改模式以查看地图(sat,traffic,streetView)。我创建了一个只有选择的选项菜单,然后选择,使用3复选框打开布局。
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference android:key="Sat"
android:title="Satellitare" android:summary="Mappa con vista satellitare"
android:defaultValue="false" />
<CheckBoxPreference android:key="Traff"
android:title="Traffico" android:summary="Mappa con vista traffico"
android:defaultValue="false" />
<CheckBoxPreference android:key="StrView"
android:title="StreetView" android:summary="Mappa con vista Street View"
android:defaultValue="false" />
</PreferenceScreen>
布局类文件Impostazioni.java。
package com.drive.info;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class Impostazioni extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.menu_navi);
}
}
在另一个文件Navi.java中,我拥有运行地图所需的所有代码。所有功能:具有基本视图的地图(无坐标或其他设置),选项menù和布局工作。
如何使用复选框更改地图设置?
感谢任何能帮助我的人!
答案 0 :(得分:0)
获取包含您的偏好活动数据的SharedPreferences
对象:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
现在获得所需的值:
boolean sat = prefs.getBoolean("Sat", false);
boolean traff = prefs.getBoolean("Traff", false);
boolean streetView = prefs.getBoolean("StrView", false);
并将其设置在MapView
:
mapView.setSatellite(sat);
mapView.setTraffic(traff);
mapView.setStreetView(streetView);
顺便说一下,setStreetView
已被弃用:
已过时。不再支持街景可用性突出显示。此方法作为无操作运行。
所以我不使用它会导致地图发生任何变化。