学生「yukinut」の学び

専門学生の私が、学校や自己での学習内容、趣味のことなどをブログにしていきます。興味のある内容があれば見ていってください。

【Android Studio】Javaでリスナーの宣言方法

Android StudioJavaを使ってリスナーの宣言方法を説明していきたいと思います。どのAPIレベルにまで対応しているかわかりませんがAPIレベル28では実行することができました。

AndroidManifestの設定

今回はAndroidManifestに入力するコードはありませんので入力しないで大丈夫です。

layoutの設定

次にlayoutに入力するコードです。上から2行目にある「androidx.constraintlayout.widget.ConstraintLayout」だけ消去して代わりに「LinearLayout」を入力します。

「tools:context=".MainActivity"」と「>」の間で改行し、android:orientation="vertical"」を入力してください。

「TextView~/>」は使わないので消去し、代わりにこちらを入力してください。

<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="リスナー:ボタン1"
android:textSize="32sp" />

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="リスナー:ボタン2"
android:textSize="32sp" />

リスナーの場合は、id名が必須なのでandroid:id="@+id/button"」をボタンごとに宣言してください。

Javaの設定

最後にメインであるJavaに入力するコードです。入力してもらいたい場所が3か所あります。

「public class MainActivity extends AppCompatActivity {」内の「{」の前に「AppCompatActivity implements View.OnClickListener」を入力してください。

「setContentView(R.layout.activity_main);」の下に書いてください。

Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(this);

Button btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(this);

ボタンを宣言しています。

「protected void onCreate(Bundle savedInstanceState) {}」の外に書いてください。

@Override
public void onClick(View v) {
if (v.getId() == R.id.button1) {
Toast.makeText(this, "リスナー:ボタン1が押されました。", Toast.LENGTH_SHORT).show();
}

if (v.getId() == R.id.button2) {
Toast.makeText(this, "リスナー:ボタン2が押されました。", Toast.LENGTH_SHORT).show();
}
}

ボタンが押されたらToastが表示されるようにしました。

リスナーの場合は、if文を使い押されたボタンがどれなのか、比較してから処理を行うため少し不便です。しかし知識として持っていくことは大切なのでぜひ覚えていってください。

まとめ

今回は、リスナーの宣言方法を説明していきました。私も作り直しながら説明していったのでエラーや、入力ミスはないようにできていると思います。この方法で取得できなかった場合はコメントください。できる限り対処していきたいと思います。

アプリ開発は調べることがほとんどです。私はこのプログラムを作るまでにたくさんのサイトを見て回ることになってしまいました。皆さんには同じ思いをしてほしくないのでこのプログラムが役に立つことを祈っています。