0

안녕하세요 함께 첫 번째 Android 앱을 작성하고 SharedPreferences를 사용하여 일부 문자열을 저장할 수 있도록 노력했습니다. 다른 이름을 입력 할 수 있으며 onStop()에서 SharedPreferences에 입력 한 후 커밋합니다. 환경 설정이 다음 활동에 즉각적으로 표시되는 해결책이 있습니까? 왜냐하면 지금 내가 이름을 입력 한 활동으로 다시 전환해야하고, 이름이 표시되어야하는 활동으로 즉시 전환하면 다시 나타납니다. 여기SharedPreferences는 활동을 다시 시작한 후에 만 ​​표시됩니다.

protected void onStop() { 
    SharedPreferences.Editor edit = set.edit(); 
    for(int x=0;x<counterM;x++){ 
      edit.putString("playerM"+x, playersMale.get(x)); 
     } 
    for(int x=0;x<counterF;x++){ 
      edit.putString("playerF"+x, playersFemale.get(x)); 
     } 
    edit.putInt("counter", counterF + counterM); 
    edit.commit(); 
    super.onStop(); 

} 

와 나는 누군가가 내 문제가 무엇인지 알아낼 수 있기를 바랍니다 내가 이름을로드에서 onCreate() ...

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 

    super.onCreate(savedInstanceState); 
    set = this.getSharedPreferences("MY_COUNT",0); 
    this.setContentView(R.layout.decisionscreen); 
    Random r = new Random(); 
    int i = set.getInt("counter",1000); 
    int x = r.nextInt(i); 
    name = set.getString("playerM"+x, "no Players found"); 
    TextView t = (TextView)findViewById(R.id.nameView); 
    t.setText(name+" "+i); 
    dareButton(); 
    truthButton(); 
} 

입니다.

답변

0

공유 환경 설정 편집기 항목을 onPause 무시에 넣으십시오. 활동을 전환하자마자 호출됩니다.

+0

그게 전부예요. 그냥 onPause 메서드에 대한 설명이 조금 혼란 스럽다고 생각했습니다 ... – Edes

관련 문제