Bigkoo / Bigkoo/Android-PickerView
为什么PickerView改成了Builder的创建方式?
- Dominant language
- Java
- Stars
- 13.4k
- Forks
- 3.4k
- PR merge metrics
- No merged PRs in 30d
Description
如果我一个页面有N个需要使用PickerView选择数据的方式,原本我只是把数据源改变一下然后改变一下标题就好了,现在到好必须创建N个PickerView不能复用了。以下是我以前的使用方式:
```
/**
* 显示选择列表控件。
*
* @param pickerType 事件类型。
* @param title 标题,可以为空,如果为空表示没有标题。
*/
private void showPickerView(int pickerType, String title) {
int defaultSelection = getDataFormPickType(mPickerData, pickerType);
if (mPickerData.isEmpty()) {
//……
return;
}
mPickerType = pickerType;
if (!TextUtils.isEmpty(title)) {
mPickerView.setTitle(title);
}
mPickerView.setPicker(mPickerData);
mPickerView.setCyclic(false);
mPickerView.setSelectOptions(defaultSelection);
mPickerView.show();
}
/**
* 根据类型不同返回对应的数据源。
* @param list 用来承载数据源的容器。
* @param pickerType 当前要加载的数据源的类型。
* @return 返回当前类型所应当选中的默认索引。
*/
private int getDataFormPickType(ArrayList list, int pickerType) {
int index = 0;
list.clear();
switch (pickerType) {
case PICKER_SELECT_LEVEL: //选择等级
……
break;
case PICKER_SELECT_BRAND: //选择品牌
……
break;
}
return index < 0 ? 0 : index;
}
@Override
public void onOptionsSelect(int options1, int option2, int options3) {
switch (mPickerType) {
case PICKER_SELECT_LEVEL: //选择等级
……
break;
case PICKER_SELECT_BRAND: //选择品牌
……
break;
}
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.