1

ここでこの水平リストビューを使用して います。リストの最後にレイアウトを追加する必要があります...サポートしていないため addFooter()、行き詰まっています

最後に「さらに読み込む」ボタンを追加したい

4

2 に答える 2

0

1 つの別の、少し汚れた解決策は、アダプターのバッキング リストに特定のフラグを持つダミー項目を追加することです。フラグを使用してこのgetViewダミー アイテムをチェックし、フッター ビューを拡張します。

リストを更新するときは注意してください。最後のダミー項目を削除し、追加のリストを追加してから、必要に応じてダミー項目を追加する必要があります

これがあなたのリスト項目だとしましょう。

class Item {
    String title;
    String imageUrl;
    boolean flagFooter;//this is the flag which will be set when the view is a dummy view
}

getView メソッドは次のようになります。

public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;
    Item i = getItem(position);
    //check whether a view needs to be inflated or not
    if (convertView == null){
        holder = new ViewHolder();
        //check whether the view is the footer view or not
        if(i.flagFooter){
            holder.flagFooter = true;
            convertView = inflater.inflate(R.layout.list_footer, null);
        }else{
            convertView = inflater.inflate(R.layout.list_row, null);
        }
        //assign holder views all findViewById goes here

        convertView.setTag(holder);
    }else{
        holder = (ViewHolder) convertView.getTag();
        //check whether the view is the footer view or not
        if(i.flagFooter){
            holder.flagFooter = true;
            convertView = inflater.inflate(R.layout.list_footer, null);
            convertView.setTag(holder);
        }else{
            //check if the view which is being reused is a footer view 
            //if it is footer view a list row view should be used.
            if(holder.flagFooter){
                holder.flagFooter = false;
                convertView = inflater.inflate(R.layout.list_row, null);
                convertView.setTag(holder);
            }
        }
    }

    //update view here
    return convertView;

}

ビューホルダー

class ViewHolder{
    TextView title;
    ImageView img;
    boolean footer;
}

前に述べたように、これは仕事をするための汚い方法ですが、うまく機能します。過去にこの種のアプローチを使用したことがあります。

于 2013-03-25T12:53:37.010 に答える
0

カスタム水平リストビューを使用する必要があります。

于 2013-03-25T11:57:08.677 に答える