2012-01-31 3 views
1

하나의 액티비티에 날짜를 저장하고 그 액티비티를 다른 액티비티의 textView에 저장하려고합니다. 나는 두 가지 활동을 서로 소통시키는 방법을 확신하지 못한다. report.java라는 파일에는 날짜를 가져 와서 sharedPrefernces에 저장하는이 메서드가 있습니다. 내 파일을 얻는 방법을 알아 내려고 노력하고 있어요두 액티비티간에 sharedPreferences를 사용하는 데 문제가 있습니다

private void updateLabel() { 
    date.setText(fmtDate.format(dateAndTime.getTime())); 
    SharedPreferences preferences = getPreferences(MODE_PRIVATE); 
    SharedPreferences.Editor editor = preferences.edit(); 
    editor.putString("date", date.getText().toString()); // value to store 
    editor.commit(); 
} 

이가 나는 데 생각 문제는 보고서 파일에 대한 올바른 이름을 얻기에있는 텍스트 뷰 을 채우는 검사를 사용했다.

public static final String PREF_FILE_NAME = "report"; 
    SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE); 

는 내가 onResume라는 방법()

@Override 
public void onResume() { 
    super.onResume(); 
    SharedPreferences preferences = getPreferences(MODE_PRIVATE); 
    String strDate=preferences.getString("date", date.getText().toString()); 

    date.setText(strDate); 

} 

답변

2

당신은 두 개의 별도의 환경 설정 파일에 값을 저장하는에이 코드가 있습니다.

SharedPreferences preferences = getPreferences(MODE_PRIVATE); 

SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE); 

하나만 사용하십시오.

+0

감사합니다. 일단 작업에서 getSharedPreferences로 전환했습니다. – Aaron

1

앱의 모든 수업/활동에서 액세스 할 수있는 기본 환경 설정 파일을 사용하지 않는 이유는 무엇입니까?

SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(yourContext); 
preferences.edit().putString(YOURKEY, yourStrValue); 

이렇게하면 어떤 값이 어떤 파일에 저장되었는지 기억해야하는 추가 설정 파일을 앱에 만들지 않습니다. 확실히 인생을 편하게 해줍니다.

관련 문제