0

私はというレイアウトを持ち、ArrayAdapterを使って内容を取り込みました。私は、高速スクロールを利用したいと、そのような追加したようなレイアウトのXMLに起因する以下のとおりです。GridViewとArrayAdapterを使用した素材ファーストスクロールサム

android:fastScrollAlwaysVisible="true"   
android:fastScrollStyle="@android:style/Widget.Material.FastScroll" 

は、私が今、ナビゲートするための高速スクロールを利用することが可能だが、現在は材料親指を追加したいと思います以下のようなプレビュー:私の理解から

fastscroll thumb preview

、私はそうと、私のArrayAdapterからSectionIndexerインタフェースを実装する必要があります:

class exampleArrayAdapter extends ArrayAdapter<...> implements SectionIndexer 

この時点で、私はバンプに達して、サムのプレビューを取得する方法を理解することができず、何か間違ったことをしている可能性があります。どのように私はこの作業を得ることができるか、または私が見上げる必要がありますようにポインターをいただければ幸いです。

答えて

1

私はついにこれを振り返る時間があり、解決策は非常に些細なものであることが判明しました!これは私がやったことです:

@Override 
public Object[] getSections() { 
    ArrayList<String> labels = new ArrayList<>(); 
    for (LaunchableActivity activity: mActivityInfos) { 
     labels.add(activity.getActivityLabel()); 
    } 

    return labels.toArray(); 
} 

@Override 
public int getPositionForSection(int i) { 
    return i; 
} 

@Override 
public int getSectionForPosition(int i) { 
    // We do not need this 
    return 0; 
} 

私はLaunchableActivityのリストを持っていたし、それをもとに返されるセクションの配列を作成しました。私の必要性のために、私が必要としたのは、getSectionForPositionではなく、getPositionForSectionを実装することでした。ユースケースは異なる場合があります。

Iこれは、具体的にコミットに、here利用可能である実装ソースコード:

  • a2c9ddd1c647919afbf24262ac1a7772a08e468c
  • 08802e17f4c75835c28232353fed68964f5d7746
  • 0d73a788c6b92d7b9c05a2871778da42af02afd8
  • f13a59f02690481801bd07ffc593648b8e71d036
関連する問題