2014-04-19 2 views
2

이 코드를 사용하여 getText() 메서드를 사용하여 입력 텍스트에서 editTextPreference 제목을 설정합니다. 문제는 "ok"를 클릭하면 제목이 변경되지 않지만 editText`를 다른 시간에 클릭하고 "ok"를 클릭하면 제목이 적용된다는 것입니다.EditTextPreference 제목을 동적으로 설정하십시오.

public void handleTEST(){ 
    final EditTextPreference pref = (EditTextPreference)findPreference("test");  
    pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){ 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      pref.setTitle(pref.getText()); 

      return true; 
     } 
    }); 

} 

무엇이 잘못 되었습니까?

답변

1

문제는 Preference Changed이 (확인 Dialog에서 clicked입니다) 때 만 onPreferenceClick에 제목을하지 변화하고 있다는 점이다. 그래서 다음에 기본 설정 항목 onPreferenceClick을 클릭하면 제목이 바뀝니다.

private static Preference.OnPreferenceChangeListener onPreferenceChangeListener 
         = new Preference.OnPreferenceChangeListener() { 
    @Override 
    public boolean onPreferenceChange(Preference preference, Object value) { 
     String stringValue = value.toString(); 

     if(preference instanceof EditTextPreference) { 
      // update the title 
      preference.setTitle(stringValue); 

     } 
     return true; 
    } 
    };  
같은 EditTextPreference 제목을 dialog.You에 확인 ClickedOnPreferenceChangeListener 추가 OnPreferenceChangeListener

editTextPreference 제목을 업데이트해야 할 때 제목을 변경하고 업데이트해야하는 경우

관련 문제