Я работаю с настройками в моем приложении Android, но я не могу сохранить и получить значения - PullRequest
0 голосов
/ 05 мая 2011

Я выбираю значения из ряда текстовых полей и сохраняю их значения в соответствующих значениях параметров в моем файле настроек. Я не знаю, что я делаю не так. Вот мой код:

public void onClick(View source) {
    switch(source.getId())
    {
    case R.id.imageButtonNext:
        String longitude=String.valueOf(editTextLongitude.getText());
        String latitude=String.valueOf(editTextLatitude.getText());
        String currentTime=String.valueOf(textViewCurrentTime.getText());
        String agentNo=String.valueOf(editTextAgentno.getText());
        String description=String.valueOf(editTextDescription.getText());
        String mobile_number=String.valueOf(editTextMobileNo.getText());
        moredetails=getSharedPreferences("prefs",0);
        SharedPreferences.Editor editor=moredetails.edit();
        editor.putString("latitude",latitude);
        editor.putString("longitude",longitude);
        editor.putString("currentTime",currentTime);
        editor.putString("agentNo",agentNo);
        editor.putString("description",description);
        editor.putString("mobileNo",mobile_number);

        String lat=moredetails.getString("latitude","");
        Toast.makeText(CurrentLocation.this,lat,Toast.LENGTH_LONG).show();
        break;
    }   
}

ПРЕДПОЧТИТЕЛЬНЫЙ ФАЙЛ:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android">
    <Preference android:key="latitude" android:title="@string/latitudeString"></Preference>
    <Preference android:key="@string/longitudeString" android:title="@string/longitudeString"></Preference>
    <Preference android:key="@string/agentNoString" android:title="@string/agentNoString"></Preference>
    <Preference android:key="@string/assistantNameString" android:title="@string/assistantNameString"></Preference>
    <Preference android:key="@string/mobilenoString" android:title="@string/mobilenoString"></Preference>
    <Preference android:key="@string/cashFloatString" android:title="@string/cashFloatString"></Preference>
    <Preference android:key="@string/efloatString" android:title="@string/efloatString"></Preference>
    <Preference android:key="@string/posterAString" android:title="@string/posterAString"></Preference>
    <Preference android:key="@string/posterBString" android:title="@string/posterBString"></Preference>
    <Preference android:key="@string/smexnoString" android:title="@string/smexnoString"></Preference>
    <Preference android:key="@string/trainingString" android:title="@string/trainingString"></Preference>
    <Preference android:key="currentTime" android:title="currentTime"></Preference>
</PreferenceScreen>

Я буду очень признателен за помощь.

1 Ответ

3 голосов
/ 05 мая 2011

Вам нужно позвонить:

editor.commit();

после внесения изменений, чтобы зафиксировать и сохранить их.

Возможно, вы также захотите посмотреть PreferenceActivity , поскольку это обеспечиваеточень много функциональности "из коробки".

...