0

私は設定メニューを追加したアプリをコーディングしていましたが、動作しますが、変更はアプリケーションを再起動したときにのみ発生し、アプリを終了せずに変更を行う方法を知っている人はいますか? 前もって感謝します ;)

私のコード(メインアクティビティから):

preferencias = preferenceManager.getDefaultSharedPreferences(TimeToSpeechActivity.this);

OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
      public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
       //nothing here, do I have to put anything?
      }
    };
preferencias.registerOnSharedPreferenceChangeListener(listener);

getPrefs();
changefont(fuente, letra);
if (boole == true) {fontcolors();}

private void getPrefs(){
      fuente = Typeface.createFromAsset(getAssets() , preferencias.getString("elegirfuente", "fonts/Default.ttf"));
     letra = Integer.parseInt(preferencias.getString("fontstyle", "0"));
     bol = preferencias.getBoolean("randomcolors", true);
 }

設定アクティビティに何も入力していません。何か入力する必要がありますか?

また、これを編集する必要がありますか?:変数を(SharedPreferences prefs, String key)作成prefsしていないので質問しますkey

前もって感謝します!!!;)

EDIT1: 設定アクティビティを追加

     public class PantallaOpciones extends PreferenceActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       addPreferencesFromResource(R.xml.opciones);
          }
        }
4

1 に答える 1

0

次のように SharedPreferences を使用したい場合があります。

String PREFS_NAME = "com.example.sp", PREFS_TEST = "com.examples.sp.test";
SharedPreferences preferences;

preferences = getSharedPreferences(PREFS_NAME,MODE_PRIVATE);
// This is how you instantiate a SharedPreference object.

preferences.edit().putString(PREFS_TEST,"TEST").commit();
// This way the preference is actually modified and saved.
于 2012-05-09T16:19:43.080 に答える