私は自動拡張リストビューに取り組んでいます。私が電話する前に毎回
mAdapter.notifyDataSetChanged();
リストの最新のアイテムをプログレス サークルで切り替えます。
/**
* displays a progress banner instead of the last item.
* @param reload boolean
*/
protected void showReloadView(boolean reload){
View item = mListView.getChildAt(onLastItem);
//View item = mListView.getAdapter().getView(onLastItem, null, null);
content = item.findViewById(id.itemContent);
loading = item.findViewById(id.itemLoading);
if(reload){
content.setVisibility(View.GONE);
loading.setVisibility(View.VISIBLE);
}else{
content.setVisibility(View.VISIBLE);
loading.setVisibility(View.GONE);
}
ここでの私の問題は、SDK で EfficientAdapter として言及されているように、ビューをリサイクルしていることです。したがって、私の ListView オブジェクトは現在 8 個以下の項目しか保持していません (これ以上表示されないため)
"onLastItem" は 7 (可視アイテム - 1) であるため、最初の実行は問題ありませんが、2 回目の実行は
ListView.getChildCount()
6 項目だけを返します。では、なぜ ListView が小さくなっているのですか? Visibility.GONEのせい?私は間違ったことをしていますか?
コメントなしの行も使用しようとしました。私のアダプターはリストの実際のサイズを知っており、ビューを取得することもできます。ただし、これらのビューの可視性を設定しても効果はありません。
事前にThx