Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android入門】EditTextの入力値がアルファベットで始まるか判定する方法

はじめに

このチュートリアルでは、AndroidアプリでEditText(編集テキスト)に入力された値がアルファベットで始まるかどうかを判定する方法を解説します。ユーザー入力のバリデーション処理などで役立つ基本的なテクニックです。

手順1:新規プロジェクトを作成する

まず、Android Studioで新しいプロジェクトを作成します。メニューから File ⇒ New Project を選択し、必要な項目をすべて入力してプロジェクトを作成してください。

手順2:レイアウトファイルを編集する

次に、res/layout/activity_main.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <EditText
        android:id="@+id/edit_query"
        android:layout_width="match_parent"
        android:hint="Enter something"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/buttonPanel"
        android:text="Click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

上記のコードでは、画面中央にEditTextButtonを縦方向に配置しています。ユーザーが入力した文字列を取得し、ボタンのクリック時にその先頭がアルファベットかどうかをチェックできるようにしています。

手順3:MainActivityにロジックを実装する

続いて、java/MainActivity.java に以下のコードを記述します。

package com.example.myapplication;

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

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText edit_query = findViewById(R.id.edit_query);
        findViewById(R.id.buttonPanel).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String data = edit_query.getText().toString();
                if (!data.isEmpty()) {
                    char c = data.charAt(0);
                    if ( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
                         Toast.makeText(MainActivity.this, c + " is an alphabet", Toast.LENGTH_LONG).show();
                    else
                         Toast.makeText(MainActivity.this, c + " is not an alphabet.", Toast.LENGTH_LONG).show();
                }
            }
        });
    }
}

コードのポイント

このコードでは、ボタンがクリックされたタイミングでEditTextから文字列を取得し、以下の流れで判定を行っています。

  • isEmpty() で空文字チェックを行い、未入力の場合は何もしない
  • charAt(0) で先頭の1文字を取り出す
  • その文字が a〜z または A〜Z の範囲内なら「アルファベット」と判定
  • 判定結果を Toast を使って画面に表示する

なお、より簡潔に書きたい場合は Character.isLetter(c) メソッドを使う方法もあります。

アプリを実行してみる

それでは、アプリを実際に動かしてみましょう。実機のAndroidスマートフォンをパソコンに接続しているものとして説明します。

Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの Run(実行)アイコン をクリックしてください。実行デバイスとして接続中のモバイル端末を選択すると、端末側に以下のような画面が表示されます。

【Android入門】EditTextの入力値がアルファベットで始まるか判定する方法

テキストフィールドに任意の文字列を入力して「Click」ボタンを押せば、先頭の文字がアルファベットかどうかがToastで表示されます。ぜひ数字や記号などを入力して、挙動の違いも試してみてください。

  1. Android端末のGPSが有効になっているか確認する方法【サンプルコード付き】

    はじめに この記事では、Android端末のGPS(位置情報)が現在有効になっているかどうかを、アプリからプログラム的に判定する方法を解説します。さらに、GPSが無効だった場合にユーザーへ通知し、位置情報の設定画面へ誘導するダイアログを表示するところまでを実装します。 実装手順 ステップ1:Android Studioで新規プロジェクトを作成する Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目を入力して、新しいプロジェクトを作成してください。 ステップ2:レイアウトファイル(activity_main.xml)を編集する

  2. AndroidスマホでAirTagを検出する方法|紛失タグの見つけ方を徹底解説

    Appleの「AirTag」は、鍵や財布、バッグなど、あらゆる持ち物の位置を追跡できる便利なアイテムとして近年急速に普及しています。しかし、その利便性の裏側では、知らないうちに自分の所持品へ取り付けられ、居場所を監視される「ストーカー行為」への懸念も高まっています。特にAndroidユーザーにとっては、iPhoneと比べて検知の仕組みが異なるため、注意が必要です。iPhoneやiPadをお使いの方なら、他人のAirTagが自分と一緒に移動している場合、デバイスに自動的にアラートが表示されます。ところがAndroidユーザーの場合、同じようにはいかず、いくつかの手順を踏まなければ、自分の持ち物に