2014-10-18 3 views
3

저는 Android 개발에 처음있어 아주 기본적인 것들을 배우고 있습니다. 내 MainActivity.java 파일에서 XML 파일에서 만든 EditText를 사용하려고합니다. XML 파일에서 나는 진술에 의해 ID를 설정 :Android Studio findViewById EditText를 찾을 때 오류가 발생합니다.

android:[email protected]+id/ageRecieved 

내가 자바 파일 및 유형에 갈 때 :

EditText ageInput = findViewById(R.id.ageRecieved); 

은 그 다음 "호환되지 않는 유형을 말한다 메시지를 팝업을 가지고있다. 필수 : 찾을 수 android.widget.EditText :.. android.view.View에서

하는 가이 일을 왜 매우 혼란

어떤 도움이 좋을 것 덕분에

+1

는'findViewById를 (...)는'하는'View'를 반환 그래서 캐스트'TextView', View''의 서브 클래스의 서브 클래스입니다'EditText'에 필요하다. – Voicu

답변

3

이 시도 :

EditText ageInput = (EditText) findViewById(R.id.ageRecieved); 

보기를 전송해야합니다.

0

이름이 말하듯이 findViewById(int id) 메서드는 지정된 id로 View를 찾고 반환합니다. 그래서 그것은 View 객체를 돌려 주며 프로그래머는보기를보다 특수한 객체로 캐스트 할 수 있습니다 : 귀하의 경우 EditTextView로 다운 캐스팅해야합니다. 그렇지 않으면 View 객체를 할당 할 수 없기 때문에 jvm에서 오류가 발생합니다 EditTextView 참조. 이것이 유용했으면 좋겠네요, 안녕!

0

findViewById는 EditText, TextView 또는 View 객체의 다른 하위 작업을 수행하려고 할 때 View 객체를 반환해야합니다.

EditText et = (EditText) findViewById(R.id.ageRecieved); 
TextView tv = (TextView) findViewById(R.id.ageRecieved); 
관련 문제