2013-03-20 4 views
1

Друзья. Проблема добавления footerview в список. Я использовал следующий код для добавления footerview.добавив footerview в список наблюдения

TextView totalIncome = new TextView(this); 
TextView totalExpense = new TextView(this); 
totalIncome.setGravity(Gravity.CENTER); 
totalExpense.setGravity(Gravity.CENTER); 
totalIncome.setPadding(0, 5, 0, 5); 
totalExpense.setPadding(0, 5, 0, 5); 
totalIncome.setText("Total Income is : " + tIncome + ""); 
totalExpense.setText("Total Expense is : " + tExpense + ""); 
final ListView lv1 = (ListView) findViewById(R.id.ListView); 
lv1.addFooterView(totalIncome); 
lv1.addFooterView(totalExpense); 
lv1.setAdapter(adapter); 

Но моя проблема заключается в том, что динамическое изменение содержимого списка снижается для некоторых шагов. Я не понимаю, почему он движется. Пожалуйста, помогите мне, друзья.

Для исх:

enter image description here

После изменения содержания

enter image description here

увидеть разрыв между списке footerview друзей. Я не хотел этого пространства. Я пытался удалить footerview при изменении содержимого. Но я не могу. Я искал много через интернет. Но я не нашел друзей решения. Пожалуйста помоги. Заранее спасибо.

+0

если вы добавите другие данные, то нижний колонтитул будет перемещен вниз? –

ответ

1

1. Для снятия нижнего колонтитула

ре является метод ListView для удаления FooterView,

lv.removeFooterView(v); 

Вам только нужно позаботиться, что вы проходящее тот же вид, который вы добавили, что означает сохранить totalIncome и totalExpense объектов TextView, сделать их static и на время, чтобы удалить проход тот же.

2. Удалите пространство

Не уверен, до сих пор работает на него.

Я думаю, это происходит, как только вы установили заголовок/нижний колонтитул в listview, а затем установите адаптер в listview, представления заголовка/нижнего колонтитула будут размещены на их месте, а при изменении содержимого списка эти представления не будут изменены, Предложение: Попробуйте удалить и добавить виды снова, когда вы вызываете метод notifyDatasetChanged для адаптера.

2

Я думаю, вы можете попробовать удалить и readd вид колонтитулов при изменении содержимого ListView

удалить:

lv1.removeFooterView(totalIncome); 
lv1.removeFooterView(totalExpense); 

в readd

lv1.addFooterView(totalIncome); 
lv1.addFooterView(totalExpense); 
Смежные вопросы