Android. Обработчики событий для Button – Devcolibri – Android для начинающих

Android. Обработчики событий для Button

В любой программе которую можно только найти то ли на Android, то ли на другую ОС, везде вы найдете кнопки или еще какие то элементы интерфейса при клике на который выполняется какое то действие, эти действия называются событиями. В этом не большом уроке я познакомлю вас с обработкой этих событий на примере Button кнопки.

Рассмотрим первый пример в который будет выглядеть так:

Добавим кнопку на форму main.xml с помощью GUI конструктора или через main.xml файл.

Кнопка:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Say hello!"
            android:id="@+id/button"/>
</LinearLayout>

И теперь познакомимся с первым способом создания обработчика на кнопку.

Способ 1.

В main.xml в тег <Button> нужно добавить атрибут android:onClick="<обработчик>" , где <обработчик> это имя метода который и будет выполнять то действие, которое произойдет после нажатия на кнопку.

Пример использования:

public void btnHelloClick(View v){
        Button button = (Button)findViewById(R.id.button);
        button.setText("Hello!");
}

Пример указанный выше демонстрирует событие нашей кнопки.

При использовании этого способа в обязательным условием является использование параметра в методе btnHelloClick(View v) только в этом случае метод будет выполнять действие которое должно повлиять на изменения на форме main.xml.

В данном примере я при нажатии на кнопку изменяю текст внутри кнопки с “Say hello!” на “Hello!”.

Способ 2.

На самом деле, способ обработки щелчка кнопки, который я вам показал, является относительно новым для разработчиков. Google рекомендует использовать данный способ как удобный, требующий меньше кода и понятный для чтения. Но тем не менее вам придется сталкиваться со старым способом, который берет свои корни от Java. Поэтому необходимо изучить и второй способ, чтобы понимать другие примеры.

Добавим новую кнопку на форму и назовем её “Hello World!”, после чего xml вид нашей формы будет такой:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Say hello!"
            android:id="@+id/button"/>
    <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            android:id="@+id/button1" android:layout_gravity="right|center_vertical"/>
</LinearLayout>

Теперь давайте повесим обработчик на только что созданную кнопку.

final Button buttonHello = (Button) findViewById(R.id.button1);
buttonHello.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Button button = (Button)findViewById(R.id.button1);
            button.setText("Hi People!");
        }
});

этот код добавляем в onCreate().

После этого наша текст нашей кнопки с “Hello World!” будет меняться на “Hi People”.

ПОХОЖИЕ ПУБЛИКАЦИИ

    None Found

45243
24/01/2013

15 комментариев к статье "Android. Обработчики событий для Button"

Добавить комментарий

Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для продолжения работы с сайтом, вам необходимо принять использование cookie-файлов.

Я ознакомлен(а)