首先贴GitHub地址
使用:
(1)app/build.gradle
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'me.yokeyword:indexablerecyclerview:1.3.0'
(2)MinePhoneAttrActivity.java(绑定视图和数据)
public class MinePhoneAttrActivity extends BaseActivity {
private static final String TAG = MinePhoneAttrActivity.class.getSimpleName();
// private EasyRecyclerView recyclerView;
private MinePhoneAttrAdapter adapter;
private IndexableLayout indexableLayout;
private List<MinePhoneAttrEntity.CountryBean> mData = new ArrayList<>();
private List<MinePhoneAttrEntity.CountryBean> mDataCommon = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mine_phone_attr);
initSystemBar(false);
initView();
}
private void initView() {
ProgressDialogHelper.get().show();
indexableLayout = (IndexableLayout) findViewById(R.id.indexableLayout);
//
indexableLayout.setLayoutManager(new LinearLayoutManager(this));
//分隔线
DividerDecoration itemDecoration = new DividerDecoration(Color.LTGRAY, SysTools.dip2px(this, 0.5f), 39, 72);
indexableLayout.getRecyclerView().addItemDecoration(itemDecoration);
// 多音字处理
Pinyin.init(Pinyin.newConfig().with(CnCityDict.getInstance(this)));
//
// indexableLayout.setComparator(null);
indexableLayout.setCompareMode(IndexableLayout.MODE_FAST);
//
adapter = new MinePhoneAttrAdapter(this);
indexableLayout.setAdapter(adapter);
// set Datas
mData = initData();
mDataCommon = initCommonData();
adapter.setDatas(mData, new IndexableAdapter.IndexCallback<MinePhoneAttrEntity.CountryBean>() {
@Override
public void onFinished(List<EntityWrapper<MinePhoneAttrEntity.CountryBean>> datas) {
ProgressDialogHelper.get().dismiss();
}
});
// set Center OverlayView
indexableLayout.setOverlayStyle_Center();
adapter.setOnItemContentClickListener(new IndexableAdapter.OnItemContentClickListener<MinePhoneAttrEntity.CountryBean>() {
@Override
public void onItemClick(View v, int originalPosition, int currentPosition, MinePhoneAttrEntity.CountryBean entity) {
switchPhoneAttr(entity.getName(), entity.getCode());
}
});
//添加 HeaderView(