나는 ListView를 리턴해야하는 뷰와 클래스를 가진 간단한 애플리케이션을 가지고있다. 응용 프로그램은 리팩터링을하지 않으면 작동하며 클래스 이름 만 바꾸는 것이 아니라 리팩토링합니다. 모든 것이 올바르게 변경된 것 같지만 응용 프로그램은 예외를 throw합니다. android.view.InflateException : 이진 XML 파일 줄 # 2 : 클래스를 확장하는 중 오류가 발생했습니다.안드로이드 InflateException 클래스의 리팩터
다시 원래 이름으로 리팩터링하면 모두 정상입니다. 내가 누락 된 이름이 변경되지 않는 이유는 무엇입니까?
코드는 일부 레이아웃 XML은 여전히 이전 이름을 참조하는 것으로 생각된다
package com.mynamespace.more.views;
import com.mynamespace.more.QTEvent;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.CheckedTextView;
import android.widget.LinearLayout;
public class MyListItem extends LinearLayout {
private QTEvent qtEvent;
private CheckedTextView checkbox;
public MyListItem(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
checkbox = (CheckedTextView)findViewById(android.R.id.text1);
}
public void setQTEvent(QTEvent q) {
this.qtEvent = q;
checkbox.setText(q.getName());
checkbox.setChecked(q.isComplete());
}
public QTEvent getEvent() {
return qtEvent;
}
}
나는 당신이 옳은 길에 있다고 생각했던 문제가 무엇이 었는지, 어떤 문제가 해결되었는지 확신하지 못합니다. 나는 전에 "깨끗하게"하려했으나 효과가 없었습니다. 소스를 다른 머신에 복사하면 코드가 작동하고 코드가 적용된 새 프로젝트를 만들 수있었습니다. 감사 – JDM