using System;
using Com.Hdl.Widget.Pickerview.View;
using Com.Hdl.Widget.Pickerview.Listener;
using System.Collections.Generic;
using Java.Util;
namespace Shared
{
///
/// UIPickerView
///
public class UIPickerView : View
{
///
/// 当前视图
///
/// The UIPickerView.
HDLPickerViewNT mPickerViewNT
{
get
{
return AndroidView as HDLPickerViewNT;
}
set
{
AndroidView = value;
}
}
///
/// 构造函数
///
public UIPickerView()
{
mPickerViewNT = new HDLPickerViewNT(Application.Activity);
mOnSelectChangeListener = new OnSelectChangeListener(this);
mPickerViewNT.SetOptionsSelectChangeListener(mOnSelectChangeListener);
}
///
/// 设置PickerView 默认选中项
///
public void setCurrentItems(int option1, int option2, int option3)
{
mPickerViewNT.SetCurrentItems(option1, option2, option3);
}
///
/// 设置PickerView数据
///
//public void setPicker(List mFirstList, List> mSecondList, List>> mThirdList)
//{
// mPickerViewNT.SetPicker(mFirstList, mSecondList, mThirdList);
private static string SPLIT_FLAG = ">-<";
//}
///
/// 设置PickerView数据 联动效果
///
public void setPicker(List mFirstList, List> mSecondList)
{
if (mFirstList == null)
{
return;
}
if (mFirstList.Count != mSecondList.Count)
{
return;
}
var mSpliceList = new List();//拼接后的数组
for (int i = 0; i < mSecondList.Count; i++)
{
string mDataStr = "";
for (int j = 0; j < mSecondList[i].Count; j++)
{
mDataStr += mSecondList[i][j] + SPLIT_FLAG;
}
mSpliceList.Add(mDataStr);
}
mPickerViewNT.SetPickerString(mFirstList, mSpliceList);
//IList> newSecondList = new List>();
//foreach (List mm in mSecondList)
//{
// newSecondList.Add(mm);
//}
//mPickerViewNT.SetPicker(mFirstList, newSecondList);
//IDictionary> newSecondListDictionary = new Dictionary>();
////foreach (List mm in mSecondList)
////{
//// newSecondListDictionary.Add(mFirstList );
////}
//for(int i=0;i< mFirstList.Count;i++)
//{
// newSecondListDictionary.Add(mFirstList[i], mSecondList[i]);
//}
//mPickerViewNT.SetPickerHashMap(mFirstList, newSecondListDictionary);
}
///
/// 设置PickerView数据 不联动
///
public void setNPicker(List mFirstList, List mSecondList, List mThirdList)
{
mPickerViewNT.SetNPicker(mFirstList, mSecondList, mThirdList);
}
///
/// 设置PickerView 选中文字的颜色
///
public void setTextColorCenter(uint mColor , int indexID) {
byte r, g, b, a;
r = (byte)(mColor / 256 / 256 % 256);
g = (byte)(mColor / 256 % 256);
b = (byte)(mColor % 256);
a = (byte)(mColor / 256 / 256 / 256 % 256);
mPickerViewNT.SetTextColorCenter(Android.Graphics.Color.Argb(a, r, g, b), indexID);
}
public Action OnSelectChangeEvent;
///
/// OnProgressChangeListener 继承响应事件
///
OnSelectChangeListener mOnSelectChangeListener;
public class OnSelectChangeListener : Java.Lang.Object, IOnOptionsSelectChangeListener
{
UIPickerView _UIPickerView;
public OnSelectChangeListener(UIPickerView view)
{
_UIPickerView = view;
}
public void OnOptionsSelectChanged(int selectIndex1, int selectIndex2, int selectIndex3)
{
_UIPickerView.OnSelectChangeEvent?.Invoke(selectIndex1, selectIndex2, selectIndex3);
}
}
}
}