1

私よりも経験豊富な人からの助けが必要です.Android用のアプリケーションの作成方法を勉強するために少し前に始めましたが、とにかく問題を説明します.

私のアプリケーションでは、3つのチェックボックス設定を使用してマップ(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 には、マップを実行するために必要なすべてのコードがあります。すべての機能: ベース ビュー (衛星やその他の設定なし)、オプション メニュー、およびレイアウト作業を含むマップ。

チェックボックスを使用してマップの設定を変更するにはどうすればよいですか?

私を助けてくれる人に感謝します!

4

1 に答える 1

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非推奨です:

非推奨。ストリート ビューの可用性の強調表示はサポートされなくなりました。このメソッドはノーオペレーションとして動作します。

そのため、使用しないとマップに変化が生じます。

于 2012-12-03T16:26:56.517 に答える