edittext에 텍스트 워처를 첨부하고 있습니다. 이 사이트에이어서 http://developer.android.com/reference/android/text/TextWatcher.html 나는 아주 작은 질문이 있습니다. s와 edittext.getText(). toString()의 차이점은 무엇입니까? 그들은 둘 다 edditext에 현재 쓰여진 텍스트를 참조하지 않습니까? 덕분에 많은TextWatcher - s와 et.getText().의 차이점 toString()
답변
기본적으로 예,하지만 은 범위가 첨부 된 글꼴 (글꼴, 색, &c)을 사용한다는 점에서 String
과 다릅니다.
정확히 getText()
이 반환하는 것과 동일한 인스턴스입니다.
CharSequence s
는 edittext.getText()
당신이 edittext.getText()
로 글고 s
변경 등의 문자를 입력 할 때마다 사실이다. .toString()
이하는 일은 CharSequence
을 String
으로 변환하는 것입니다.
결론적으로 s == edittext.getText()
. 사용 중
같은 일이지만, 성능이 더 나은의를 사용하고 있기 때문에
의 = EditText.getText()
그래서, 당신은 EditText.getText를 사용하는 경우(). toString() 동일한 함수를 두 번 실행하고 있습니다.
s
과edittext.getText().toString()
의 차이점은 무엇입니까?
난 당신이 onTextChanged
및 beforeTextChanged
에서 매개 변수로 s
을 의미 가정합니다.
현재 둘 다 edditext에 쓰여있는 텍스트를 참조하지 않습니까?
기본적으로 네, 맞습니다.
Android는 공개 소스이므로 소스에서 볼 수 있습니다. getText()
방법
public CharSequence getText() {
return mText;
}
그리고 우리는 setText()
방법 this을 볼 수
mText = text;
this 다음 :
sendOnTextChanged(text, 0, oldlen, textLength);
인수로 전달 된 text
을 볼 수 있듯이 (모든 첨부 파일에 변경 사항이 있음을 알리는 방법) EditText
)은 에 반환 된 인스턴스 변수 mText
과 같습니다.
따라서 EditText#getText()
이고 onTextChanged
과 beforeTextChanged
의 s 매개 변수는 같습니다. 그러나 그들은 CharSequence
을 반환합니다. toString()
에 전화하면 String
으로 변환됩니다.