Я получаю исключение нулевого указателя в строке 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);
Я не слишком уверен, почему, так что вы могли бы мне сказать? Просмотр списка - не мое.
Я поставлю правильный ответ!
Вместо того, чтобы использовать findViewById()
метод от вашей Activity
View
следует назначить (который я предполагаю, что это сноска TextView
в вашем R.layout.footer_row
) TextView
из надутой View
.
Образец кода:
TextView tv_footer = (TextView) header.findViewById(R.id.tv_footertext);
Измените третью строку вашего кода, как указано ниже. поскольку ваш завышенный вид содержит указанный вами textView.
TextView tv_footer = (TextView) header.findViewById(R.id.tv_footertext);
Благодарю.
вы можете отправить информацию о logcat, кажется, что значение tv_footer не может быть установлено. Возможно, R.id.tv_footertext не является частью макета, который вы установили в методе setContentView (....), проверите его один раз. Лучше если вы подробно укажете код (поскольку ваш опубликованный код кажется прекрасным)