Czas przyszedł na pierwszy własny program. Dzisiaj zajmiemy się kontrolkami w naszej aplikacji. Poznamy następujące kontrolki i ich obsługę:
- EditText
- TextView
- CheckBox
- RadioGroup oraz RadioButton
- Button
- Toast
Kontrolka EditText oraz TextView
EditText to pole tekstowe służące do wprowadzania napisów, a zatem klasyczne pole edycyjne. Pole to posiada kilka modyfikacji, jak wprowadzanie hasła czy adresu e-mail.
Wymagany jest dla niego import biblioteki:
import android.widget.EditText
Aby łatwiej potem posługiwać się kontrolką to w głównej klasie utworzę do niej uchwyt.
final EditText eText;
Kolejnym etapem jest wyszukanie odpowiedniej kontrolki na ekranie aplikacji i podpięcie jej do uchwytu. Każda kontrolka posiada swój unikalny identyfikator, który znajduje się w ustawieniach tej kontrolki. W moim przypadku automatycznie zostało ustawione editText1.
eText=(EditText) findViewById(R.od.editText1);
To wszystko, kontrolka podpięta, można jej używać. Warto znać metody:
- getText()
- setTet(CharSequence text, TextView.BufferType type)
- setText(CharSequence)
No to szybko pobranie tekstu z okna:
String imie = eText.getText();
Analogicznie gdyby tam istniała liczba do sparsowania na int:
int wiek = Integer.parseInt(eText.getText()+"");
Teraz jeszcze wstawienie danych do edita:
eText.setText("Witaj");
Podobną kontrolką jest TextView. Różnica jest między nimi taka, że do tej możemy tylko pisać. Jest to tzw Etykieta W przypadku tej kontrolki import realizuje operacja:
import android.widget.TextView
A wyszukanie:
TextView tText=(TextView) findViewById(R.od.textView1);
Nadawanie nazw powinno odbywać się poprzez wybranie zmiennej z Reaource Chooser. Pozwala on na definiowania napisów (nazwa i treść) i szybkie odwoływanie się do nich. Nowy napis można dodać poprzez przycisk New String w Eclipse lub edytując plik strings.xml znajdujący się /nazwa_projektu /res/values/strings.xml.
CheckBox
Checkbox inaczej okienko zaznaczenia opcji, a zatem możliwość zaptaszkowania. Schemat jak wyżej, import, podpięcie i metody obsługi. Schemat dla kontrolki o id wynoszącym checkBox1.
import android.widget.CheckBox;
final CheckBox cB;
cB = (CheckBox) findViewById(R.id.checkBox1);
Mamy tutaj zdefiniowane następujące metody:
- isChecked()
- setChecked(boolean checked)
- setClickable (boolean clickable)
- getText()
- setText(CharSequence text, TextView.BufferType type)
- setText(CharSequence)
Sprawdzenie zaznaczenia to zatem
if (cB.isChecked()){ }
RadioBox oraz RadioGroup
Podobną kontrolką jest przycisk typu Radio, z tym wyjątkiem, że jest to przycisk jednej z wielu opcji. Grupowanie scala radioboxy w jedną grupę co właśnie pozwala na wybór jednej z opcji.
Import wygląda tak:
import android.widget.RadioButton;
import android.widget.RadioGroup;
Niech istnieje dla nich uchwyt:
final RadioGroup rG;
final RadioButton rB;
A ich podpięcie niech realizuje następujący kod:
rG = (RadioGroup) findViewById(R.id.radioGroup1);
rB = (RadioButton) findViewById(R.id.radio0);
Metody dla RadioGroup:
- void clearCheck()
- int getCheckedRadioButtonId()
- void check (int id)
- isChecked()
I metody dla RadioButton:
- getText()
- setText(CharSequence text, TextView.BufferType type)
- setText(CharSequence)
- setChecked(boolean checked)
- setClickable (boolean clickable)
Działa też isChecked, a użycie jest takie same jak przy checkboxie.
Button
Ostatnią z omawianych popularnych kontrolek będzie po prostu Przycisk. Z nim jest najwięcej zabawy, gdyż przycisk musi w końcu reagować na kliknięcie. Niemniej początek jest taki sam. Zaczynamy od podpięcia.
import android.widget.Button;
Teraz zaczynam podpinanie:
final Button btn
btn = (Button) findViewById(R.id.button1);
Niestety, na tym nie koniec. Trzeba teraz zbudować nasłuchiwacza, czyli kogoś kto będzie czekał na kliknięcie. Gdy do niego dojdzie, ten wywoła metodę onClick. W niej można wykonywać operacje przypisane do tego kliknięcia.
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
Toast
To sympatyczny przyjaciel wyświetlający proste dymki, czyli kilkusekundowe powiadomienia na dole ekranu.
import android.widget.Toast;
Wykorzystanie polega na wywołaniu metody makeText.
Toast toast = Toast.makeText(getApplicationContext(), "Witaj", Toast.LENGTH_LONG);
To tyle, w następnym rozdziale zajmiemy się pojęciem intencji.
|