마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sharedpreference 에 관하여..

0 추천
private EditTextPreference myEditTextPreference4;
 

...중략

  myEditTextPreference4 = (EditTextPreference) findPreference("prefUsername");
  EditText et4 = (EditText) myEditTextPreference4.getEditText();
  myEditTextPreference4.setOnPreferenceChangeListener(this);
  if(et4.equals("null")){
   myEditTextPreference4.setSummary("Name is "+"");
  }
  else{
   myEditTextPreference4.setSummary("Name is "+myEditTextPreference4.getText());
  }

 

설정창에 사용자 이름을 넣는 editText가 있습니다.

근데 맨 처음 실행시에는 입력 값이 없잖아요..

그래서 Name is null 로 나오는데...

null 글짜가 보기 싫어서 위와 같이 코딩했는데...먹히질 않네요...

 

뭐가 잘못된건지?
앤드류이드 (6,190 포인트) 님이 2016년 5월 12일 질문

2개의 답변

0 추천
 
채택된 답변

if(et4.equals("null")) 이 부분에서 et4 는 안드로이드 위젯인 EditText 인데 String "null" 과 비교하고 있으므로 무조건 false. 이말인즉슨 무조건 else 문을 타게 되있습니다.

 

..중략

String summary = "Name is ";

String myName = myEditTextPreference4.getText();

if (!TextUtils.isEmpty(myName)) {

       summary += myName;

}

myEditTextPreference4.setSummary(summary);

 

이런식으로 하면 될거같네요.

Spacebar (1,300 포인트) 님이 2016년 5월 12일 답변
앤드류이드님이 2016년 5월 12일 채택됨
감사합니다.. 잘 되네요 ^^
0 추천
null 글자가 String null ("null") 이 아니라 그런 것 같은데요.

if(et4.equals("null")){ 이 부분을 if (et4 == null) 로 변경해보세요.
익명사용자 님이 2016년 5월 12일 답변
이것도 테스트 해봐야겠어요...답변 감사합니다^^
...