我目前正在Xamarin中编写一个Radio组,根据从DB获取的答案集动态地为组添加单选按钮。
我需要一些Xamarin.Android所需的自定义监听器的帮助。
我调用创建侦听器并向其传递一个单选按钮,然后检查状态如下:
MyListner c = new MyListner();
c.OnCheckedChanged(rBtn, rBtn.Checked);
我当前的听众代码:
public class MyListner : CompoundButton.IOnCheckedChangeListener{
#region IOnCheckedChangeListener implementation
public void OnCheckedChanged(CompoundButton buttonView, bool isChecked)
{
if (isChecked)
{
//If Checked code here
}
}
#endregion
#region IDisposable implementation
public void Dispose()
{
throw new System.NotImplementedException();
// NEED HELP HERE
}
#endregion
#region IJavaObject implementation
public System.IntPtr Handle
{
get
{
throw new System.NotImplementedException();
// NEED HELP HERE
}
}
#endregion
}
我需要一些关于如何正确实现监听器的指导。 任何事情都会受到赞赏。
答案 0 :(得分:0)
从Java.Lang.Object继承您的类:
public class OnCheckedChangeListener : Java.Lang.Object, Android.Widget.RadioGroup.IOnCheckedChangeListener
{
public void OnCheckedChanged (RadioGroup group, int checkedId){
}
}
答案 1 :(得分:0)
代码:
//Radio Group
var radioGroup = new RadioGroup(this);
radioGroup.Orientation = Orientation.Horizontal;
//Declaring arrays
int [] s_id = new int[] { 1, 2,};
string [] s_sex = new string[] { Male, Female};
// looping arrays to create radio button
for (int j = 0; j < s_id.Length; j++)
{
RadioButton radBut = new RadioButton(this);
radBut.Id = j;
radBut.Text = s_sex[j];
//Radio Button Click Listener
radBut.Click += (sender, e) =>{
var radC = sender as RadioButton;
string radioChecked = radC.Text;
int radioId = radC.Id;
Toast.MakeText(this, radioChecked, ToastLength.Short).Show();
};
//Adding Radio Button to Radio Group
radioGroup.AddView(radBut);
}
上面的代码将创建一个带有2个单选按钮的无线电组。