データセットの例: "A"、"B"、"C"、"D"
ListView を次のように表示したい:
"A" | "B" | "C"
「A」の詳細を複数の列に表示しようとしているわけではありません。行ごとに 1 つではなく 3 つの項目を表示したいのです。GridView を使用したくありません。
現在、私はこれを行うことに成功しています。
私が使う:
public int getCount() {
if(dataSource!=null){
return (int) Math.ceil((double)dataSource.size()/3.0f);
}
return 0;
}
getView 部分では、position*3 を使用して次の 3 つの項目の最初の位置を取得し、それに応じてビューを作成します (i+1,i+2)。それは完全に機能します。ただし、リストの一部のみが描画されます。スクロールバーは正しく、さらにスクロールできることを示していますが、リストの半分が描画される前に、突然次の半分が描画されず、スクロールバーが一番下に触れます。
だから、私の3による除算は何かを台無しにしています..カウントを3で除算しないと、すべてのアイテムが描画されますが、スクロールバーには実際の高さの3倍が表示されます( 3列。
ここで何が欠けていますか?