2011-07-18 14 views
0

這是我的註冊代碼savedPreferences未發送

package com.synamegames.lolingaddress; 

import android.app.Activity; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.widget.TextView; 

public class RegisterActivity extends Activity { 
    TextView vname, vphone, vemail, vaddress, v_name,v_phone,v_email,v_address 
    ,reg_name,reg_phone,reg_email,reg_address; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.registermenu); 
     vname=(TextView)findViewById(R.id.reg_name); 
     vphone = (TextView) findViewById(R.id.reg_phone); 
     vemail = (TextView) findViewById(R.id.reg_email); 
     vaddress = (TextView) findViewById(R.id.reg_address); 
     LoadPreferences(); 
    } 

     private void LoadPreferences() { 
      SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
      String strSavedMem1 = sharedPreferences.getString("MEM1", ""); 
      String strSavedMem2 = sharedPreferences.getString("MEM2", ""); 
      String strSavedMem3 = sharedPreferences.getString("MEM3", ""); 
      String strSavedMem4 = sharedPreferences.getString("MEM4", ""); 
      String deviceid = sharedPreferences.getString("Devid", ""); 
      vname.setText(strSavedMem1); 
      vphone.setText(strSavedMem2); 
      vemail.setText(strSavedMem3); 
      vaddress.setText(strSavedMem4); // textfield 

    ; 
} 

     public boolean onKeyDown(int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_BACK) { 
       Intent intent = new Intent(RegisterActivity.this, MainMenuActivity.class); 
       intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
       startActivity(intent); 
       return super.onKeyDown(keyCode, event); 
      } 
      return super.onKeyDown(keyCode, event); 
     } 



    } 

紀念品1和其他琴絃在我的設置類進行鑑定,我已經看到他們加載。 sharedPreference的內容在多個類中共享?

現在,當我打開這個活動它讓我

名稱: (凡喜好應該是) 電話: (凡喜好應該是) 電子郵件: (凡喜好應該是) 地址: (其中偏好應該是)

(其中偏好應該是)是空白的,我想讓文本設置爲我加載的內容。

感謝您的幫助!

代碼保存喜好

     SavePreferences("MEM1", vname.getText().toString()); 
        SavePreferences("MEM2", vphone.getText().toString()); 
        SavePreferences("MEM3", vemail.getText().toString()); 
        SavePreferences("MEM4", vaddress.getText().toString()); 

     private void SavePreferences(String key, String value) { 
     SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE); 
     SharedPreferences.Editor editor = sharedPreferences.edit(); 
     editor.putString(key, value); 
     editor.commit(); 
    } 
+0

你可以發佈'getPreferences()'的代碼嗎? –

+0

你是什麼意思? – Drake

+0

我沒有getPreferences()是否保存? – Drake

回答

0

getPreferences收益偏好的私人這一特定活動時。如果您在其他活動中設置了此偏好設置,例如使用PreferenceActivity,那麼它們將不會以這種方式可用。在這種情況下,您可以使用getDefaultSharedPreferences

+0

那麼我只是把私人空間變成公共空間? – Drake

+0

我改變了\t \t public void LoadPreferences(){ \t \t \t SharedPreferences sharedPreferences = getDefaultPreferences(MODE_PRIVATE); \t \t \t String strSavedMem1 = sharedPreferences.getString(「MEM1」,「」); \t \t \t String strSavedMem2 = sharedPreferences.getString(「MEM2」,「」); \t \t \t String strSavedMem3 = sharedPreferences.getString(「MEM3」,「」); \t \t \t String strSavedMem4 = sharedPreferences.getString(「MEM4」,「」); \t \t \t String deviceid = sharedPreferences.getString(「Devid」,「」); getDefaultSharedPreferences現在我得到一個錯誤 – Drake

+0

@Drake不是我不是這個意思。您如何設置這些首選項? –