LoginSignup
0
1

More than 5 years have passed since last update.

Android ボタン押下時の動作

Posted at

ボタン動作

アプリ開発で一番出番がある、ボタン等を押した際の動作について記載します。
今回は「CHANGE」のボタンを押下した際にテキストを「TextView」→「Change!!」をサンプルとします。

textview_change.gif

実装

[Button][TextView]にID(android:id)とテキスト(android:text)をそれぞれセットしておきます。

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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"
    android:orientation="vertical"
    tools:context="com.example.qiita.qiita.MainActivity">

    <Button
        android:id="@+id/button"
        android:text="change"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/textview"
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

Acitvityには下記となります。(説明は下で)

MaincActivity.java
package com.example.qiita.qiita;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((TextView)findViewById(R.id.textview)).setText("Change!!");
            }
        });
    }

}

以下はRayout内のIDが「button」のViewを取得します。
View.OnClickListenerは、クリック時にコールバックで呼ばれる機能となります。
buttonがクリックした際の動作を実装する為、setOnClickListenerでセットしています。

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {

以下はOnClickListenerの実装(クリック時の動作)となります。
Rayout内のIDが「textview」のViewを取得して「TextView型」にキャストします。
その後、setTextにて値を書き変えます。

@Override
public void onClick(View v) {
        ((TextView)findViewById(R.id.textview)).setText("Change!!");
}

Developers

・Viewクラス
https://developer.android.com/reference/android/view/View.html

・View.OnClickListener
https://developer.android.com/reference/android/view/View.OnClickListener.html

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1