2013-07-19 3 views
0

환경 설정을 사용하여 EditTextPreference 상자에 사용자 입력을 저장하고 나중에 사용하도록 가져 오는 방법은 무엇입니까?EditTextPreference 상자에서 사용자 입력 저장

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.prefs); 
this.editPreference = (EditTextPreference)getPreferenceScreen().findPreference("userPass"); 

이것은 내 코드입니다. 그러나 preferenceScreen이 editTextPreference로 형변환 될 수 없다는 말은 계속 충돌합니다. 어떤 아이디어?

감사합니다.

로그 캣 :

07-19 17:14:23.028: E/AndroidRuntime(7032): FATAL EXCEPTION: main 
07-19 17:14:23.028: E/AndroidRuntime(7032): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.contact/com.example.contact.PrefsActivity}: java.lang.ClassCastException: android.preference.PreferenceScreen cannot be cast to android.preference.EditTextPreference 

답변

1

바와 같이 in this artcle 언급, 당신은 EditTextPreference.getText을 사용해야합니다의 toString()을()는 문자열 값을 필요로하는 경우.. 그런 다음 필요에 따라 로컬 변수 나 데이터베이스에 저장할 수 있습니다.

protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.prefs); 
    String userPreference = this.editPreference.getText(); // variable set to String value of text entered in widget 

} 
+0

는 u는 내가 게시 된 코드를해야한다 어떤 변화를 제안 할 수 있습니다 :

편집

코드를 작성? – user2511882

+0

나는 내 대답을 편집하여 어떻게 설정하는지 보여주었습니다. 그런 다음 TextView를 채우거나 특정 문자를 가져 오거나 데이터베이스에 저장해야하는 경우 로컬 변수'userPreference'를 사용할 수 있습니다. – Phoenix

+0

XML 폴더의 prefs.xml을 사용하는 경우 R 폴더에 ID가있을 수 있습니다. – user2511882

관련 문제