-5

私はリストビューを持っています。

私は3セットのビューを持っています:

  1. イメージビュー
  2. ビデオビュー
  3. テキストビュー。

画像、ビデオ、テキストを返す Web サーバーがあります。サーバーからの応答に基づいて、リストビューの行のビューを膨らませたいと思います。

カスタム アダプターを使用してカスタム レイアウトを拡張することを認識しています。

カスタム アダプターを使用してビュー タイプを拡張する方法を知りたいですか?

例えば ​​:

Web サーバーが画像を返す場合は、imageview を拡張します。

4

1 に答える 1

1

各 Web サービス応答を、画像の場合は 0、テキストの場合は 1、動画の場合は 2 の ID に関連付けます。ID を ArrayList に格納します。次に、getItemViewType() と getViewTypeCount() をオーバーライドします。getView() で適切なビューをインフレートします。

   @Override

    public int getItemViewType(int position) 

    {

    int type;

    if (ID.get(position)== 0){
        type = TYPE_ITEM1;  //type 0 for image
    } else if (ID.get(position) == 1){
        type = TYPE_ITEM2; //type 1 for text
    }else {
        type = TYPE_ITEM3; //type 2 for videos
    }
    return type;
    }
@Override
public int getViewTypeCount() {
    return 3;    //three different layouts to be inflated
}
于 2012-09-18T06:07:52.537 に答える