ListViewに表示できる行数

4,278 views
Skip to first unread message

ob...@re.commufa.jp

unread,
Oct 23, 2012, 3:04:11 PM10/23/12
to 日本Androidの会
こんにちは、、いつもお世話になっております。

ListViewに実際にスクロールしないで表示できる最大行数を取得する方法を探しています。

機種毎の画素数等によりListViewのサイズが決まり、セットする行のxmlで表示できる行数は決まるはずですが、、
それをプログラムの中から表示する前に取得したいと思っています。

御存知の方、よろしくお願いします。


--
★☆★☆★☆★☆★☆★☆
   OBOTT
★☆★☆★☆★☆★☆★☆

Hirokazu Fukami

unread,
Oct 23, 2012, 3:15:16 PM10/23/12
to android-g...@googlegroups.com
こんにちはfkmです。

直感で答えてますが、ListViewの1行の高さって表示されるテキストの量で
変わることがあるのかなぁと。

表示されている行数は、何に使うんですか?

2012/10/24 <ob...@re.commufa.jp>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>



--
-------------------------------------------------------------
深見 浩和(Hirokazu Fukami)

URI:http://www.fkmsoft.jp
email: f...@fkmsoft.jp

ob...@re.commufa.jp

unread,
Oct 23, 2012, 3:56:13 PM10/23/12
to android-g...@googlegroups.com
fkm さん

レスありがとうございます。

> 直感で答えてますが、ListViewの1行の高さって表示されるテキストの量で
> 変わることがあるのかなぁと。
最大2行以下省略で、行高さは固定するつもりです

> 表示されている行数は、何に使うんですか?
何に使うのかは、取得するのに必要な事でしょうか?
それとも、単なる興味でしょうか?
ちなみに今回は、ページ管理したいので1ページ最大表示行とするつもりです。
すなわち、
  データ数/最大表示行数=ページ数     注、この計算は余りを考慮していません
ページ数を導き出したいので最大表示行数を知りたいのです。


(2012/10/24 4:15), Hirokazu Fukami wrote:
> こんにちはfkmです。
>
> 直感で答えてますが、ListViewの1行の高さって表示されるテキストの量で
> 変わることがあるのかなぁと。
>
> 表示されている行数は、何に使うんですか?
>


--
★☆★☆★☆★☆★☆★☆
   OBOTT
★☆★☆★☆★☆★☆★☆

Hirokazu Fukami

unread,
Oct 23, 2012, 4:03:57 PM10/23/12
to android-g...@googlegroups.com
fkmです。

ページングのために表示されている件数が欲しいんですね。
「画面に表示できるだけ表示」であれば、ListViewを使わず、高さを計算しながら
1行ずつLinearLayoutあたりに追加していく方法だとまずいのかな と思ったりしました。

2012/10/24 <ob...@re.commufa.jp>:

Yuki Anzai

unread,
Oct 23, 2012, 6:41:18 PM10/23/12
to android-g...@googlegroups.com
あんざいです

 ListView の getLastVisiblePosition() から getFirstVisiblePosition() を引けばいいと思います。
 http://developer.android.com/reference/android/widget/AdapterView.html#getFirstVisiblePosition()

 ListView が描画されたあとじゃないと正しい値がこないので注意が必要です。
 描画前に欲しいなら自分で計算する必要があります。


2012/10/24 Hirokazu Fukami <fkm...@gmail.com>:
あんざい ゆき
anzai...@gmail.com
twitter : @yanzm
Y.A.Mの雑記帳 http://y-anz-m.blogspot.com/

ob...@re.commufa.jp

unread,
Oct 24, 2012, 6:53:46 AM10/24/12
to android-g...@googlegroups.com
あんざい さん

レスありがとうございます。

>  ListView の getLastVisiblePosition() から getFirstVisiblePosition() を引けばいいと思います。
>  http://developer.android.com/reference/android/widget/AdapterView.html#getFirstVisiblePosition()
>  ListView が描画されたあとじゃないと正しい値がこないので注意が必要です。
>  描画前に欲しいなら自分で計算する必要があります。
実描画後、取得できる事は確認しました。
  条件としては
    1.実行数が表示可能最大数よりも大きく無いと駄目。
      表示可能最大数より小さいとその値が返る  現状だとざっと30行分のデータが必要(10行ぐ
らい鯖を読んでる)
    2.実描画後で無いとまともな値は入らない。

と言うところまでは確認が取れましたので、残りは様子を見て作成してみます。

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



(2012/10/24 7:41), Yuki Anzai wrote:
> あんざいです
>
>  ListView の getLastVisiblePosition() から getFirstVisiblePosition() を引けばいいと思います。
>  http://developer.android.com/reference/android/widget/AdapterView.html#getFirstVisiblePosition()
>
>  ListView が描画されたあとじゃないと正しい値がこないので注意が必要です。
>  描画前に欲しいなら自分で計算する必要があります。
>
>


--
★☆★☆★☆★☆★☆★☆
   OBOTT
★☆★☆★☆★☆★☆★☆
Reply all
Reply to author
Forward
0 new messages