1

几天前我发现了一个很棒的项目,叫做https://github.com/commonsguy/cwac-merge

我想禁用一些适配器(不可点击,如标题)。

在自述文件中,我可以阅读:

您还可以扩展 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 回答