2

ListView フッターに関連付けられたクリック イベントは、特に広範囲のスクロールが行われた後、発生するのに時間がかかることがあります。通常のリスト項目のクリックは、常にすぐに発生します。奇妙なことに、フッター クリックがまだ処理を待機している間に通常の項目をクリックすると、すぐに起動し、処理が完了するとすぐにフッター クリックが実行されます (クリックは間違った順序で実行されます)。

どんなフィードバックでも大歓迎です。

private void init()
{
...

        // I attach a footer to this ListActivity instance like so...

        LayoutInflater inflater = ((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE));
        mFooterView = inflater.inflate(R.layout.row_feed_footer, null, false);

        // Add click handler to footer
        mFooterView.findViewById(R.id.feed_footer_layout).setOnClickListener(new OnClickListener()
        {
           @Override
           public void onClick(View v)
           {
               onFooterClick(v);
           }
        });

        getListView().addFooterView(mFooterView);

        // Register with my custom adapter
        setListAdapter(mFeedData);
}


private void onFooterClick(View footerView)
{
    // After extensive scrolling, this event will take a long time to fire (as long as 5 seconds).
    // Unless onListItemClick, in which case it will fire immediately after
}


@Override
protected void onListItemClick(ListView l, View v, int position, long reportSeqNo)
{
    // After extensive scrolling, this event will still fire immediately
}
4

1 に答える 1

0

誰かが同様の問題に遭遇した場合に備えて、私は解決策を見つけることができませんでした。バグのようです。私の回避策は、ListAdapter実装の特殊なケースのアイテムとしてフッターを実装することでした。

于 2013-03-05T16:03:42.447 に答える