数日前、https://github.com/commonsguy/cwac-mergeという素晴らしいプロジェクトを見つけました。
一部のアダプターを無効にしたい (ヘッダーのようにクリックできない)。
readme で私は読むことができます:
MergeAdapter を拡張して isEnabled() をオーバーライドすることもできるため、有効にする位置と無効にする位置を制御できます。
しかし、どうすればこれができるのかわかりません。それがソース isEnabled メソッドです:
@Override
public boolean isEnabled(int position) {
for (ListAdapter piece : pieces) {
int size=piece.getCount();
if (position<size) {
return(piece.isEnabled(position));
}
position-=size;
}
return(false);
}
これは私のアダプターの追加コードです:
adapter.addView(header("Header1"),false);
SimpleAdapter test = new SimpleAdapter(Test.this, top, R.layout.main,
new String[] { ITEM_TITLE2, ITEM_CAPTION2, ITEM_TITLE3 }, new int[] { R.id.id1, R.id.id2, R.id.id3 });
adapter.addAdapter(test1);