package jsc.exam.com.wheelview.fragments; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import java.util.Random; import jsc.exam.com.wheelview.R; import jsc.kit.wheel.base.WheelItem; import jsc.kit.wheel.dialog.ColumnWheelDialog; /** *
Email:1006368252@qq.com *
QQ:1006368252 *
https://github.com/JustinRoom/WheelViewDemo * * @author jiangshicheng */ public class ColumnWheelFragment extends Fragment { TextView tvResult; ColumnWheelDialog dialog1 = null; ColumnWheelDialog dialog2 = null; ColumnWheelDialog dialog3 = null; ColumnWheelDialog dialog4 = null; ColumnWheelDialog dialog5 = null; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_wheel_dialog, container, false); tvResult = root.findViewById(R.id.tv_result); root.findViewById(R.id.btn_choose_time_1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialog1 == null) dialog1 = createDialog(1); else dialog1.show(); } }); root.findViewById(R.id.btn_choose_time_2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialog2 == null) dialog2 = createDialog(2); else dialog2.show(); } }); root.findViewById(R.id.btn_choose_time_3).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialog3 == null) dialog3 = createDialog(3); else dialog3.show(); } }); root.findViewById(R.id.btn_choose_time_4).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialog4 == null) dialog4 = createDialog(4); else dialog4.show(); } }); root.findViewById(R.id.btn_choose_time_5).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialog5 == null) dialog5 = createDialog(5); else dialog5.show(); } }); return root; } private ColumnWheelDialog createDialog(int type) { ColumnWheelDialog dialog = new ColumnWheelDialog<>(getActivity()); dialog.show(); dialog.setTitle("选择菜单"); dialog.setCancelButton("取消", null); dialog.setOKButton("确定", new ColumnWheelDialog.OnClickCallBack() { @Override public boolean callBack(View v, @Nullable WheelItem item0, @Nullable WheelItem item1, @Nullable WheelItem item2, @Nullable WheelItem item3, @Nullable WheelItem item4) { String result = ""; if (item0 != null) result += item0.getShowText() + "\n"; if (item1 != null) result += item1.getShowText() + "\n"; if (item2 != null) result += item2.getShowText() + "\n"; if (item3 != null) result += item3.getShowText() + "\n"; if (item4 != null) result += item4.getShowText() + "\n"; tvResult.setText(result); return false; } }); switch (type) { case 1: dialog.setItems( initItems("菜单选项一"), null, null, null, null ); dialog.setSelected( new Random().nextInt(50), 0, 0, 0, 0 ); break; case 2: dialog.setItems( initItems("菜单选项一"), initItems("菜单选项二"), null, null, null ); dialog.setSelected( new Random().nextInt(50), new Random().nextInt(50), 0, 0, 0 ); break; case 3: dialog.setItems( initItems("菜单选项一"), initItems("菜单选项二"), initItems("菜单选项三"), null, null ); dialog.setSelected( new Random().nextInt(50), new Random().nextInt(50), new Random().nextInt(50), 0, 0 ); break; case 4: dialog.setItems( initItems("菜单选项一"), initItems("菜单选项二"), initItems("菜单选项三"), initItems("菜单选项四"), null ); dialog.setSelected( new Random().nextInt(50), new Random().nextInt(50), new Random().nextInt(50), new Random().nextInt(50), 0 ); break; case 5: dialog.setItems( initItems("菜单选项一"), initItems("菜单选项二"), initItems("菜单选项三"), initItems("菜单选项四"), initItems("菜单选项五") ); dialog.setSelected( new Random().nextInt(50), new Random().nextInt(50), new Random().nextInt(50), new Random().nextInt(50), new Random().nextInt(50) ); break; } return dialog; } private WheelItem[] initItems(String label) { final WheelItem[] items = new WheelItem[50]; for (int i = 0; i < 50; i++) { items[i] = new WheelItem(label + (i < 10 ? "0" + i : "" + i)); } return items; } }