1

数日前、驚くべきプロジェクト、https://github.com/commonsguy/cwac-mergeが見つかりました。cwac-mergeアダプタを無効にする

アダプターを無効にしたい(ヘッダーのようにクリックできないようにしたい)。

のreadmeには、私は読むことができます:

また、)ISENABLEDを(上書きするMergeAdapterを拡張することができますので、することができます位置があり、有効になっていません コントロール。

しかし、私はどのようにこれを行うことができます実現する。

@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); 

答えて

1

ステップ#1:SimpleAdapterの独自のカスタムサブクラスを作成し、ソースISENABLED方法である 。

ステップ2:カスタムサブクラスでisEnabled()を上書きし、必要に応じてtruefalseを返します。

私はREADMEの混乱した言い回しについて心からお詫び申し上げます - 私はまもなくそれを更新します。

+0

うわー、それは簡単だと信じられない:)ありがとう。作品! – sztembi

関連する問題