gpt4 book ai didi

c# - 如何处理 RadioGroup.SetOnCheckedChangeListener?

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:36 25 4
gpt4 key购买 nike

    public class OnAdicionarEventArgs : EventArgs
{
private string mNome;
private string mPreco;
private string mUnidade;
private string mCategoria;

public string Nome
{
get{ return mNome; }
set{ mNome=value;}

}
public string Preco
{
get{ return mPreco; }
set{ mPreco=value;}

}
public string Unidade
{
get{ return mUnidade; }
set{ mUnidade=value;}

}
public string Categoria
{
get{ return mCategoria; }
set{ mCategoria=value;}

}

public OnAdicionarEventArgs (string nome, string preco, string unidade, string categoria) : base()
{
Nome = nome;
Preco = preco;
Unidade = unidade;
Categoria = categoria;
}

}

class dialog_Adicionar_produto:DialogFragment
{
double pr=1;
private Button mBtnAdicionar;
private EditText mNome;
private EditText mPreco;

private EditText mCategoria;
private RadioButton mRdbUnidades;
private RadioButton mRdbKilos;
private RadioGroup radG;
int aux;

public event EventHandler<OnAdicionarEventArgs> mOnAdicionarComplete;


public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
base.OnCreateView (inflater, container, savedInstanceState);

var view = inflater.Inflate (Resource.Layout.dialog_adicionar_produtos, container, false);

mBtnAdicionar = view.FindViewById<Button> (Resource.Id.btnDialogAdicionar);
mNome = view.FindViewById<EditText> (Resource.Id.txtNome);
mPreco = view.FindViewById<EditText> (Resource.Id.txtPreco);

mCategoria = view.FindViewById<EditText> (Resource.Id.txtCategoria);

mRdbUnidades = view.FindViewById<RadioButton> (Resource.Id.rdbUnidades);
mRdbKilos = view.FindViewById<RadioButton> (Resource.Id.rdbUnidades);

radG = view.FindViewById<RadioGroup> (Resource.Id.radioGroup);

mBtnAdicionar.Click += mBtnAdicionar_Click;
mNome.TextChanged += mNome_TextChanged;
mPreco.TextChanged += mPreco_TextChanged;

mCategoria.TextChanged += mCategoria_TextChanged;





return view;
}

void mRdbUnidades_Click(object sender, EventArgs e)
{

aux = 0;
Console.WriteLine (mRdbUnidades.Text);
}

void mRdbKilos_Click (object sender, EventArgs e)
{

aux = 1;
Console.WriteLine (mRdbKilos.Text);
}

void mBtnAdicionar_Click (object sender, EventArgs e)
{

//User has clicked the sign up button
if (aux == 0) {
mOnAdicionarComplete.Invoke (this, new OnAdicionarEventArgs (mNome.Text, mPreco.Text, mRdbKilos.Text, mCategoria.Text));
this.Dismiss ();
} else {
mOnAdicionarComplete.Invoke (this, new OnAdicionarEventArgs (mNome.Text, mPreco.Text, mRdbUnidades.Text, mCategoria.Text));
this.Dismiss ();
}

}
}

当用户选中一个或另一个时,我想获取当前选中的单选按钮的值。但是我该怎么做呢?不是 RadioButton.Click 对吗?我将通过 RadioButton.Text 获取此值,它将从选中的那个获取。

最佳答案

改为使用 CheckedChange 事件,您将收到所选 RadioButton 的 ID:

radG.CheckedChange += (sender, e) => {
Console.WriteLine(view.FindViewById<RadioButton>(e.CheckedId).Text);
}

关于c# - 如何处理 RadioGroup.SetOnCheckedChangeListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com