2011-09-28 10 views
0

ListViewに単純なリスナーを設定したいので、ユーザーがリストの50ºアイテムを通過すると、そのリストに100個以上のアイテムを追加するスレッドを呼び出します。Android - ユーザーが50ºのリストアイテムに到達したときのListViewイベント

私は1時間以上これを行うためのイベントを探していますが、私はそれを見つけることができないようです。リストアイテムがクリックされるなどのイベントがたくさんありますが、ユーザーがスクロール処理で項目を通過したときに見つけることができません。

ありがとうございました!

答えて

1

リストビューにScrollListenerを置くと、リストの最後に到達したときに最後のアイテムが取得され、次にフッタにプログレスバーが追加され、他のアイテムをロードできるスレッドが開始され、notifyDataSetChanged()あなたは追加された項目を持つリストを得るでしょう.. !!

そして、onScroll()で項目番号50に達しているかどうかを確認できます。

+0

あなたの答えは私にこのトピックに行きました:http://stackoverflow.com/questions/4432931/binding-onscrolling-listener-to-the-android-listview 解決策が見つかりました。それはここで働いた。しかし、notifyDataSetChanged()を呼び出さずに新しい項目を追加する方法はありますか?私はこのメソッドを呼び出すと、リスト全体が(新しい項目が追加されただけではなく)再度読み込まれるようになると思います。 –

+0

ええ、それはそうですが、私は知っているが、リストビューでフォーカスの選択を設定できるメソッドがあるので(フォーカスするアイテムを選択できるようにする)メソッド名はsetSelection(int position)ので、私はnotifyDatasetchanged()を呼び出した後でも今思うそれを行うことができます...!リストはロードされますが、データセットが変更された場所の最後の項目に焦点を当てます。 –

0

ListViewはアイテムビューをリサイクルするので、これを行う必要はないと思います。だからあなたはリストビューのアイテム(各値ごとに)を占めてはいけません。ArrayList(またはあなたが使うデータタイプ)のメモリを使用するだけです。

また、ユーザーがlistview(最後のリストビュー項目)の最後に到達したときに、アダプタを新しい値で再フィードした後に.notifyDataSetChanged()にコールすると、これを行うことができます。

リストビューの表示アイテムの50%に達すると、常に50%に達するため、スクランブルがかかります。そうでなければ、ListViewではなくArrayListで50%に達することができます。既存のArrayListが表示され、10個のアイテムと6番目のアイテムがlistview count/2にあるとしましょう。その半分のリストビューアイテムが新しいデータでフィードするリストビューのデータフィードの50%を超えるかどうかを確認します。 (私は不明かもしれません)

私はアイデアがあなたを助けてくれることを願っています。

+0

こんにちはニコラ。迅速な返信をありがとう!私はnotifyDataSetChanged()メソッドを認識していますが、私の問題は、最後のアイテムリストが表示されているとき(ユーザーがリストの一番下に来てもリストアイテムをクリックしていないとき) 。そこにイベントがありますか?私の主な理由は、ArrayListにロードするデータが多すぎるためです。最初はすべてロードする必要はありません。私は50をロードしたい、そして、ユーザーが最後に達すると、さらに50をロードする(つまり、ArrayListに50以上の項目を入れてから.notifyDataSetChanged()を呼び出すなど)。 –

+0

私はそのようなイベントリスナーはないのですが、そのために 'interface'を作成するか、アダプタがArrayListの終わりに達した場合に' getView() 'で何らかのテストを行い、さらに要素を追加することができます...私はこれが妥当であることを望む。 –

+0

コードをgetView()メソッドに入れるというあなたの考えは素晴らしいようです!しかし、私はavoveの答えで別の解決策(私が探していたイベント)を見つけました。私は今notifyDataSetChanged()メソッドを呼び出すことなく新しい項目の行を描画する方法があるのだろうかと思っています...しかしNikolaを助けてくれてありがとう! –

関連する問題