1

数日前、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);
4

1 に答える 1

1

ステップ #1: の独自のカスタム サブクラスを作成しますSimpleAdapter

ステップ #2:isEnabled()カスタム サブクラスをオーバーライドし、必要に応じて戻りtrueますfalse

README の紛らわしい表現についてお詫び申し上げます。まもなく更新します。

于 2012-04-17T22:04:55.050 に答える