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

inflate함수 오류 확인 부탁드려요

0 추천

메인 액티비티에서 두개의 프래그먼트를만들었습니다. 하나의 프래그먼트에 세개의 클래스를 프레임레이아웃으로 배치했구요. 문제는 그 클래스중 하나에서 리스트뷰를 만드는데, xml파일을 inflate하는 클래스에서 계속 에러가 납니다.

public class Big_ListView extends LinearLayout{
 
private TextView text;
 
public Big_ListView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public Big_ListView(Context context) {
super(context);
init(context);
}
 
public void init(Context context){
LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Log.d("test", "before");
inflater.inflate(R.layout.biglistview,this,true);//에러 의심되는 부분
Log.d("test", "after");
text=(TextView)findViewById(R.id.text_);
if(text==null)
Log.d("test", "after2");
}
 
public void setText(String text){
(this.text).setText(text);
}
}
 
이 소스입니다. text에 계속 null이 들어가는지 세개의 로그가 모두 찍힙니다.
에러 원인 알고 싶어서 AndroidRuntime 로그 확인해봐도 에러가 안찍히네요.ㅠㅠ
inflate()함수에서 직접적으로 에러가 나는건 아니고 text에 null이 들어가다 보니 후에 문제가 생겨 에러가 뜹니다.
 
chreographer.class의 doCallbacks 함수에서  mCallbacksRunning = false; 되었다는 오류와 함께요.
 
참고로 생성자에서 넘겨받은 context는 프래그먼트에서 
public void onAttach(Activity activity) {
context=activity.getApplicationContext();
this.activity=activity;
super.onAttach(activity);
}
이렇게 얻은 context를 넘겨넘겨준거구요.. 다른 프로젝트(프래그먼트를 사용한)에서는 정상적으로 작동되는데 왜 여기서는 안되는걸까요 ㅠㅠ 달라진건 context밖에 없습니다. 도와주세요 ㅠㅠ!

 

익명사용자 님이 2015년 1월 13일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...