Обработка нажатия кнопки может производится несколькими путями:
Указанием функции обработчика непосредственно
в файле XML при создании кнопки (на подобии JavaScript и HTML) или в
Java через анонимный класс, навешивая на кнопку слушателя с функцией
обработчика. В данном примере
по нажатию кнопки появляется всплывающее окно. Для его корректной
работы, в папке values и документе содержащем текстовые строки
string.xml добавлен текст сообщения для
всплывающего окна:
<string name="push_button">BUTTON!</string>
Файл MainActivity будет выглядеть следующим образом: Функция onCreate() запускает "стартовую страницу" XML указанную в setContentView(R.layout.activity_main); R - класс, содержащий в себе все участвующие в приложении элементы, начиная от списка самих XML документов до кнопок и изображений. Если нужно найти какой нибудь элемент - стоит обращаться к классу R, его изменять нельзя. Далее создан объект Java, который является своего рода указателем на нужную кнопку. Нужная кнопка находится по id который указан в ней, через функцию findViewById (R.id.button). Так как данная функция возвращает значение View (кнопки, текстовые поля и т.д имеют тип View), его стоит преобразовать к конкретно нужному типу (Button). Функцией button.setOnClickListener() назначается слушатель и функция обработчик onClick(View v); В функции обработчике записан код для всплывающего сообщения.
Файл ctivity_main.xml будет выглядеть следующим образом:
<string name="push_button">BUTTON!</string>
Файл MainActivity будет выглядеть следующим образом: Функция onCreate() запускает "стартовую страницу" XML указанную в setContentView(R.layout.activity_main); R - класс, содержащий в себе все участвующие в приложении элементы, начиная от списка самих XML документов до кнопок и изображений. Если нужно найти какой нибудь элемент - стоит обращаться к классу R, его изменять нельзя. Далее создан объект Java, который является своего рода указателем на нужную кнопку. Нужная кнопка находится по id который указан в ней, через функцию findViewById (R.id.button). Так как данная функция возвращает значение View (кнопки, текстовые поля и т.д имеют тип View), его стоит преобразовать к конкретно нужному типу (Button). Функцией button.setOnClickListener() назначается слушатель и функция обработчик onClick(View v); В функции обработчике записан код для всплывающего сообщения.
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity {
- private Button button;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- button = (Button)findViewById(R.id.button);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(MainActivity.this,
- R.string.push_button,
- Toast.LENGTH_SHORT).show();}
- });
- }
- } }
Файл ctivity_main.xml будет выглядеть следующим образом:
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- tools:context="com.ivarious.myapplication.MainActivity">
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="OK!"
- android:id="@+id/button"
- android:layout_centerVertical="true" />
- </RelativeLayout> yout_centerVertical="true" />
Комментариев нет:
Отправить комментарий