Нижний колонтитул списка Android

1

Я получаю исключение нулевого указателя в строке 5/7 моего кода:

    LayoutInflater inflater = getLayoutInflater();
    View header = inflater.inflate(R.layout.footer_row, (ViewGroup) findViewById(R.id.header_layout_root));
    TextView tv_footer = (TextView) findViewById(R.id.tv_footertext);
    if(getListView().getCount()<=8) {
        tv_footer.setText("You have no more assignments");
    } else {
        tv_footer.setText(Integer.toString(getListView().getCount()) + " assignments shown");
    }
    getListView().addFooterView(header, null, false);

Я не слишком уверен, почему, так что вы могли бы мне сказать? Просмотр списка - не мое.

Я поставлю правильный ответ!

Теги:

3 ответа

1
Лучший ответ

Вместо того, чтобы использовать findViewById() метод от вашей Activity View следует назначить (который я предполагаю, что это сноска TextView в вашем R.layout.footer_row) TextView из надутой View.

Образец кода:

TextView tv_footer = (TextView) header.findViewById(R.id.tv_footertext);
  • 0
    Да спасибо. Я вижу, что это было сейчас.
1

Измените третью строку вашего кода, как указано ниже. поскольку ваш завышенный вид содержит указанный вами textView.

TextView tv_footer = (TextView) header.findViewById(R.id.tv_footertext);

Благодарю.

  • 0
    Это правильно, но другой парень ответил первым и поэтому получил галочку. В любом случае, спасибо!
  • 0
    В любом случае, спасибо за нажатие на верхний треугольник. :).
0

вы можете отправить информацию о logcat, кажется, что значение tv_footer не может быть установлено. Возможно, R.id.tv_footertext не является частью макета, который вы установили в методе setContentView (....), проверите его один раз. Лучше если вы подробно укажете код (поскольку ваш опубликованный код кажется прекрасным)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню