2017-09-28 62 views
-2

我需要獲取單選按鈕的文本。在代碼中有4個radiogroups和13個單選按鈕,如果有人選擇了按鈕3,我需要將這個文本發送給一個變量,然後發送一封電子郵件給帶有CC的投票人+他的經理。如何從Xamarin Android中的單選按鈕獲取值?

using Android.App; 
    using Android.Widget; 
    using Android.OS; 
    using System.Collections; 
    using System; 

    namespace WhrReconigzer 
    { 
    [Activity(Label = "WhrReconigzer", MainLauncher = true)] 
    public class MainActivity : Activity 
    { 
     private ArrayList enderecos; 
     TextView queroreconhecer; 
     TextView crie; 
     TextView conquiste; 
     TextView entregue; 
     TextView viva; 
     TextView comentar; 
     EditText comentário; 
     Spinner spinner; 
     ArrayAdapter adapter; 
     RadioButton rdbTerPaixao; 
     RadioButton rdbSerOusado; 
     RadioButton rdbJogueParaGanhar; 
     RadioButton rdbLiberarOsTalentos; 
     RadioButton rdbUmaWhirlpool; 
     RadioButton rdbLiderarComVelocidade; 
     RadioButton rdbSeroDono; 
     RadioButton rdbSerFranco; 
     RadioButton rdbRespeito; 
     RadioButton rdbIntegridade; 
     RadioButton rdbDiversidadeeInclusao; 
     RadioButton rdbTrabalhoDeEquipe; 
     RadioButton rdbEspiritoDeVitoria; 
     RadioGroup rdgcrie; 
     RadioGroup rdgconquiste; 
     RadioGroup rdgentregue; 
     RadioGroup rdgviva; 

    protected override void OnCreate(Bundle savedInstanceState) 
    { 

     base.OnCreate(savedInstanceState); 

     // Set our view from the "main" layout resource 
     SetContentView(Resource.Layout.Main); 
     //preenche o arraylist com os dados 
     GetEmails(); 
     //cria a instância do spinner declarado no arquivo Main 
     spinner = FindViewById<Spinner>(Resource.Id.spnDados); 
     //cria textview 
     queroreconhecer = FindViewById<TextView>(Resource.Id.txtReconhecer); 
     crie = FindViewById<TextView>(Resource.Id.txtCrie); 
     conquiste = FindViewById<TextView>(Resource.Id.txtConquiste); 
     entregue = FindViewById<TextView>(Resource.Id.txtEntregue); 
     viva = FindViewById<TextView>(Resource.Id.txtViva); 
     comentar = FindViewById<TextView>(Resource.Id.txtComentário); 
     comentário = FindViewById<EditText>(Resource.Id.edtComentario); 
     rdbTerPaixao = FindViewById<RadioButton>(rdgcrie.CheckedRadioButtonId); 
     rdbSerOusado = FindViewById<RadioButton>(rdgcrie.CheckedRadioButtonId); 
     rdbJogueParaGanhar = FindViewById<RadioButton>(rdgcrie.CheckedRadioButtonId); 
     rdbLiberarOsTalentos = FindViewById<RadioButton>(rdgconquiste.CheckedRadioButtonId); 
     rdbUmaWhirlpool = FindViewById<RadioButton>(rdgconquiste.CheckedRadioButtonId); 
     rdbLiderarComVelocidade = FindViewById<RadioButton>(rdgentregue.CheckedRadioButtonId); 
     rdbSeroDono = FindViewById<RadioButton>(rdgentregue.CheckedRadioButtonId); 
     rdbSerFranco = FindViewById<RadioButton>(rdgentregue.CheckedRadioButtonId); 
     rdbRespeito = FindViewById<RadioButton>(rdgviva.CheckedRadioButtonId); 
     rdbIntegridade = FindViewById<RadioButton>(rdgviva.CheckedRadioButtonId); 
     rdbDiversidadeeInclusao = FindViewById<RadioButton>(rdgviva.CheckedRadioButtonId); 
     rdbTrabalhoDeEquipe = FindViewById<RadioButton>(rdgviva.CheckedRadioButtonId); 
     rdbEspiritoDeVitoria = FindViewById<RadioButton>(rdgviva.CheckedRadioButtonId); 
     rdgcrie = FindViewById<RadioGroup>(Resource.Id.rdgCrie); 
     rdgconquiste = FindViewById<RadioGroup>(Resource.Id.rdgConquiste); 
     rdgentregue = FindViewById<RadioGroup>(Resource.Id.rdgEntregue); 
     rdgviva = FindViewById<RadioGroup>(Resource.Id.rdgViva); 
     // cria o adapter usando o leiaute SimpleListItem e o arraylist 
     adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, enderecos); 
     //vincula o adaptador ao controle spinner 
     spinner.Adapter = adapter; 
     //define o evento ItemSelected para exibir o item selecionado 
     spinner.ItemSelected += Spinner_ItemSelected; 

     if (rdbDiversidadeeInclusao.getCheckedRadioButtonId() != -1) 
     { 
      int id = rg1.getCheckedRadioButtonId(); 
      View radioButton = rg1.findViewById(id); 
      int radioId = radioGroup.indexOfChild(radioButton); 
      RadioButton btn = (RadioButton)rg1.getChildAt(radioId); 
      String selection = (String)btn.getText(); 
     } 

    } 
    //colocar o nome ao invés do email 
    private void GetEmails() 
    { 
     enderecos = new ArrayList(); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("ana_carolina_simoes @whirlpool.com"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("ricardo_matos_campaneruti @whirlpool.com"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
     enderecos.Add("[email protected]"); 
    }// fim getEmails 

    private void Spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e) 
    { 
     Spinner spinner = (Spinner)sender; 
     string toast = string.Format("Colaborador selecionado: {0}", spinner.GetItemAtPosition(e.Position)); 
     Toast.MakeText(this, toast, ToastLength.Long).Show(); 
    } 



    } 
} 

我應該使用rdbIntegridade.getCheckedRadioButtonId(); ?

我也想知道如何創建一個按鈕來發送一個電子郵件傳遞單選按鈕值+一個評論,將在一個EditText字段。

+2

我真的希望那些郵件不存在.. #JustSaying – rmjoia

回答

1

我需要獲取單選按鈕的文本。

您可以訂閱的Click事件的每RadioButton,例如像這樣:

RadioButton rbtn = FindViewById<RadioButton>(Resource.Id.rbtn); 
rbtn.Click += Rbtn_Click; 

Click事件:

private void Rbtn_Click(object sender, EventArgs e) 
{ 
    var radiobtn = sender as RadioButton; 
    var text = radiobtn.Text; 
} 

所以,你可以訂閱的RadioButton所有Click事件與像Rbtn_Click這樣的處理程序。

我也想知道如何創建一個按鈕來發送一個電子郵件傳遞的radiobuttons值+一個評論,將在一個EditText字段。

對於發送電子郵件部分,您可以參考官方文檔Send an Email

//send to 
email.PutExtra (Android.Content.Intent.ExtraEmail, 
new string[]{"[email protected]", "[email protected]rin.com"}); 
//cc to 
email.PutExtra (Android.Content.Intent.ExtraCc, 
new string[]{"[email protected]"}); 
//subject 
email.PutExtra (Android.Content.Intent.ExtraSubject, "Hello Email"); 
//content 
email.PutExtra (Android.Content.Intent.ExtraText, 
"Hello from Xamarin.Android"); 
相關問題