ここでこの水平リストビューを使用して います。リストの最後にレイアウトを追加する必要があります...サポートしていないため addFooter()
、行き詰まっています
最後に「さらに読み込む」ボタンを追加したい
ここでこの水平リストビューを使用して います。リストの最後にレイアウトを追加する必要があります...サポートしていないため addFooter()
、行き詰まっています
最後に「さらに読み込む」ボタンを追加したい
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;
}
前に述べたように、これは仕事をするための汚い方法ですが、うまく機能します。過去にこの種のアプローチを使用したことがあります。
カスタム水平リストビューを使用する必要があります。