|
@@ -18,6 +18,9 @@ import androidx.viewpager.widget.ViewPager;
|
|
|
|
|
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
|
|
import com.alibaba.android.arouter.launcher.ARouter;
|
|
|
+import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
|
|
+import com.bigkoo.pickerview.listener.OnDismissListener;
|
|
|
+import com.bigkoo.pickerview.view.OptionsPickerView;
|
|
|
import com.cooleshow.base.router.RouterPath;
|
|
|
import com.cooleshow.base.ui.activity.BaseMVPActivity;
|
|
|
import com.cooleshow.base.utils.FileUtils;
|
|
@@ -100,6 +103,8 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
private ShareAction mShareAction;
|
|
|
private UMShareListener mShareListener;
|
|
|
private Bitmap targetBitmap;
|
|
|
+ private OptionsPickerView pvOptions;
|
|
|
+ private int currentSelectSubjectPosition = 0;
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
@@ -171,21 +176,50 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
if (subjectBeanList.size() == 0) {
|
|
|
subjectBeanList.add(new QuerySubjectBean("全部声部", ""));
|
|
|
}
|
|
|
- List<PopMenuBean> popList = new ArrayList<>();
|
|
|
- for (QuerySubjectBean bean : subjectBeanList) {
|
|
|
- PopMenuBean popMenuBean = new PopMenuBean();
|
|
|
- popMenuBean.setActionName(bean.name);
|
|
|
- popList.add(popMenuBean);
|
|
|
- }
|
|
|
- initCoursePop(viewBinding.viewSubjectFilterPoint, popList, position -> {
|
|
|
- QuerySubjectBean bean = subjectBeanList.get(position);
|
|
|
+ selectSubject();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void selectSubject() {
|
|
|
+ pvOptions = new OptionsPickerBuilder(this, (options1, options2, options3, v) -> {
|
|
|
+ this.currentSelectSubjectPosition = options1;
|
|
|
+ QuerySubjectBean bean = subjectBeanList.get(options1);
|
|
|
currentSubjectId = String.valueOf(bean.id);
|
|
|
viewBinding.searchView.getLeftText().setText(bean.name);
|
|
|
updateByFilter();
|
|
|
+ }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_address_layout, v -> {
|
|
|
+ //自定义布局中的控件初始化及事件处理
|
|
|
+ final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
|
|
|
+ tvSubmit.setText(getString(com.cooleshow.base.R.string.confirm_str));
|
|
|
+ TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
|
|
|
+ tvSubmit.setOnClickListener(v12 -> {
|
|
|
+ pvOptions.returnData();
|
|
|
+ pvOptions.dismiss();
|
|
|
+ });
|
|
|
+ ivCancel.setOnClickListener(v1 -> pvOptions.dismiss());
|
|
|
+
|
|
|
+ }).setTextColorOut(getResources().getColor(com.cooleshow.base.R.color.color_aaaaaa))
|
|
|
+ .setDividerColor(Color.TRANSPARENT)
|
|
|
+ .setBgColor(Color.TRANSPARENT).isDialog(false).build();
|
|
|
+ pvOptions.setPicker(subjectBeanList);
|
|
|
+ if (currentSelectSubjectPosition < subjectBeanList.size()) {
|
|
|
+ pvOptions.setSelectOptions(currentSelectSubjectPosition);
|
|
|
+ }
|
|
|
+ pvOptions.setOnDismissListener(new OnDismissListener() {
|
|
|
+ @Override
|
|
|
+ public void onDismiss(Object o) {
|
|
|
+ UiUtils.refreshFilterTextStyle2(false, viewBinding.searchView.getLeftText());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onShow() {
|
|
|
+ UiUtils.refreshFilterTextStyle2(true, viewBinding.searchView.getLeftText());
|
|
|
+ }
|
|
|
});
|
|
|
+ pvOptions.show();
|
|
|
}
|
|
|
|
|
|
private void updateByFilter() {
|
|
|
+ viewBinding.searchView.clearEditFocus();
|
|
|
int currentItem = viewPager.getCurrentItem();
|
|
|
for (int i = 0; i < fragments.size(); i++) {
|
|
|
MineScoreFragment mineScoreFragment = (MineScoreFragment) fragments.get(i);
|