2011-05-05 19 views
0

我從多個文本字段中提取值並將其值存儲在我的首選項文件中相應的首選項值中。我不知道我做錯了。這裏是我的代碼:我正在使用我的android應用程序的偏好,但我似乎無法存儲和檢索值

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> 

我會很感激的幫助。

+0

只是一個建議:它似乎應該使用數據庫的大多數,而不是「偏好」。 – dmon 2011-05-05 15:03:22

回答

3

你需要調用:

editor.commit(); 

更改後提交,並將其儲存後。

你可能也想看看PreferenceActivity,因爲這提供了很多開箱即用的功能。

相關問題