Dienstag, 4. März 2014

Android: RadioButtons gruppieren

In diesem Post möchte ich zeigen, wie man unter Android RadioButtons gruppieren kann, sodass immer nur einer gleichzeitig aktiviert werden kann.
Dies ist ganz einfach, hierfür legen wir im jeweiligen Layout eine RadioGroup an, zu welcher wir dann die RadioButtons hinzufügen. Und schon kann maximal einer der Buttons in der Gruppe ausgewählt werden, die Aktivierung eines anderen deaktiviert den aktuellen.
Mittels der Funktion Check() kann man optional einen RadioButton auswählen, welcher bei Programmstart aktiviert ist. Hierfür müssen wir dem entsprechenden Button jedoch eine Id zuweisen, da die Funktion Check() eine solche erwartet.
Im folgenden Beispiel legen wir in einem LinearLayout eine RadioGroup an und fügen ihr 3 RadioButtons hinzu. Diese statten wir mit einer Id aus und aktivieren standardmäßig den ersten:

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace RadioGroupExample
{
     [Activity (Label = "RadioGroupExample", MainLauncher = true)]
     public class MainActivity : Activity
     {

          protected override void OnCreate (Bundle bundle)
          {
               base.OnCreate (bundle);

               var LinearLayout = new LinearLayout (this);
               RadioGroup MyGroup = new RadioGroup (this);

               RadioButton RadioButton1 = new RadioButton (this);
               RadioButton1.Id = 1;
               RadioButton RadioButton2 = new RadioButton (this);
               RadioButton2.Id = 2;
               RadioButton RadioButton3 = new RadioButton (this);
               RadioButton3.Id = 3;

               MyGroup.AddView (RadioButton1);
               MyGroup.AddView (RadioButton2);
               MyGroup.AddView (RadioButton3);
               MyGroup.Check (1);

               LinearLayout.AddView (MyGroup);

               SetContentView (LinearLayout);
          }
     }
}

Samstag, 1. März 2014

Tupel darstellen mit Tuple

In diesem Post möchte ich zeigen, wie man Tupel in C# darstellt, ähnlich dem aus C bekannten pair Typs. In C# geht dies mit der Klasse Tuple.
Ein Tupel wird folgendermaßen initialisiert:

Tuple<string, int> TestTuple = new Tuple<string, int>("Test", 1);

Zur Typsicherheit können also die beiden zu paarenden Datentypen angegeben werden, auf der rechten Seite werden die Werte des Tupels dann initialisiert. Hier erstellen wir ein Tupel, dessen erster Wert ein String ist, der zweite ein Integer.
Zugriff auf diese Einträge ist dann nur noch lesend möglich, was über TestTuple.Item1 bzw. TestTuple.Item2 gemacht werden kann.