Android InflateException по рефакторингу класса - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть простое приложение с представлением и классом, который должен возвращать ListView. Приложение работает, если я не рефакторинг, и я рефакторинг не просто переименовывает имя класса. Кажется, все меняется должным образом, но приложение выдает исключение: android.view.InflateException: строка двоичного XML-файла # 2: ошибка надувания класса

Если я вернусь к исходному названию, все будет хорошо. Что не переименовывается, что мне не хватает?

Код

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;
    }

}

1 Ответ

0 голосов
/ 23 апреля 2010

Может показаться, что какой-то макет XML все еще ссылается на старое имя. Ошибка сообщит вам, на каком файле и в какой строке это происходит.

Вам также может потребоваться выполнить проект Eclipse -> Force Clean или ant clean из командной строки, чтобы избавиться от более ранних выпусков предварительно скомпилированных классов и еще много чего.

...