持っていることの最初の目に見える要素を他の要素とはListView
異なるものにするにはどうすればよいですかlayout
。
2つの異なるレイアウトのカスタムアダプタを作成しました。layout
さて、アイテムが最初に来たときにどうすれば変更できposition
ますか?
持っていることの最初の目に見える要素を他の要素とはListView
異なるものにするにはどうすればよいですかlayout
。
2つの異なるレイアウトのカスタムアダプタを作成しました。layout
さて、アイテムが最初に来たときにどうすれば変更できposition
ますか?
異なるレイアウトを持つリストビューの最初のアイテムを取得するには、次のコードを使用できます。ただし、リスト内のアイテムが表示されているアイテムの数より少ない場合、リストビューは移動しません。
list.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
if(firstItem != firstVisibleItem)
{
firstItem = firstVisibleItem;
adapter.notifyDataSetChanged();
}
}
});
そして、アダプタクラス内で、postion
がfirstItem
等しいかどうかを確認し、詳細レイアウトを表示します。
これを試して
int visibleposition = ListView.getFirstVisiblePosition();
ここで、この特定の位置について、このようにリストアイテムの背景を変更します
getView()では、位置ごとに異なるレイアウトを膨らませることができます。次のようなことをします
if(position==0){
inflate(first_layout);
else{
inflate(other_layout);