10

持っていることの最初の目に見える要素を他の要素とはListView異なるものにするにはどうすればよいですかlayout

最初のセルには説明があります

リストがスクロールされ、2番目のセルが最初の位置にある場合、2番目のセルの説明が表示されます

2つの異なるレイアウトのカスタムアダプタを作成しました。layoutさて、アイテムが最初に来たときにどうすれば変更できpositionますか?

4

4 に答える 4

4

異なるレイアウトを持つリストビューの最初のアイテムを取得するには、次のコードを使用できます。ただし、リスト内のアイテムが表示されているアイテムの数より少ない場合、リストビューは移動しません。

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();
            }
        }
    });

そして、アダプタクラス内で、postionfirstItem等しいかどうかを確認し、詳細レイアウトを表示します。

于 2013-02-01T08:54:29.933 に答える
2

これを試して

int visibleposition = ListView.getFirstVisiblePosition();

ここで、この特定の位置について、このようにリストアイテムの背景を変更します

于 2013-01-25T11:55:08.607 に答える
0

getView()では、位置ごとに異なるレイアウトを膨らませることができます。次のようなことをします

 if(position==0){
           inflate(first_layout);
   else{
           inflate(other_layout);
于 2013-01-25T11:05:48.703 に答える
0

次のような方法を試すことができます

getFirstVisiblePosition

またはこれはあなたの問題に答えるかもしれません

于 2013-01-25T11:16:42.370 に答える