複数の中からどれかを選択する場合 CheckBox を使うと便利です。CheckBox はチェックされた状態とチックされていない状態のいずれかを取りますが、テストアプリを作って確認してみましょう。
Android Studio 3.5.3 API 29 |
CheckBox |
ボタンなどと同じようにリスナーをセットします
これにより、タップされるたびにステータスが変化します
1 2 3 4 5 6 7 8 9 |
checkBox = findViewById(R.id.checkbox); checkBox.setChecked(false); checkBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // } }); |
ステータスは、チェックボックスにチェックが入ることでユーザーにわかりますが、プログラム的には isChecked() で取り出せます。
また、CheckBox としてのテキストも表示できます。
複数のCheckBoxを使うことを想定して、簡単に2つのCheckBoxにしてまとめてみます。
MainActivity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
package your.package.name; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.CheckBox; public class MainActivity extends AppCompatActivity { private CheckBox[] checkBox = new CheckBox[2]; private String[] str = {"未チェックです","チェックされた","チェックされてない"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); checkBox[0] = findViewById(R.id.checkbox_1); // チェック状態を false に設定 checkBox[0].setChecked(false); checkBox[0].setText(str[0]); // リスナーを登録 checkBox[0].setOnClickListener(new View.OnClickListener() { // タップされると呼び出される @Override public void onClick(View v) { // チェックステータス取得 boolean check = checkBox[0].isChecked(); if(check){ checkBox[0].setText(str[1]); } else{ checkBox[0].setText(str[2]); } } }); checkBox[1] = findViewById(R.id.checkbox_2); // チェック状態を false に設定 checkBox[1].setChecked(false); checkBox[1].setText(str[0]); // リスナーを登録 checkBox[1].setOnClickListener(new View.OnClickListener() { // タップされると呼び出される @Override public void onClick(View v) { // チェックステータス取得 boolean check = checkBox[1].isChecked(); if(check){ checkBox[1].setText(str[1]); } else{ checkBox[1].setText(str[2]); } } }); } } |
activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?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:layout_width="match_parent" android:layout_height="match_parent" android:background="#dfe" android:orientation="vertical" android:paddingStart="30dp" android:paddingEnd="10dp" android:gravity="center_vertical" tools:context=".MainActivity" > <CheckBox android:id="@+id/checkbox_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_margin="20dp" android:textSize="30sp" /> <CheckBox android:id="@+id/checkbox_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_margin="20dp" android:textSize="30sp" /> </LinearLayout> |
Reference:
Checkboxes | Android Developers
誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム
ブックマークしておくと便利です
アプリ開発が上達するお勧め
アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう。
オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。
TECH ACADEMY
こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。
'IT' 카테고리의 다른 글
https://nodejs.org/api/all.html (0) | 2021.07.05 |
---|---|
MySQL Connector/JをAndroidから使ってみる (0) | 2021.07.05 |
ANDROID スピナー (0) | 2021.07.04 |
【PHPMyAdmin】PHPMyAdminでデータをCSVでエクスポートする方法 (0) | 2021.07.03 |
http://www.java2s.com/Open-Source/Android/CatalogAndroid.htm (0) | 2021.07.03 |
댓글