69400


Android Studioでチェックボックスを作り、チェックしている時は”確認済”と表示して、チェックされていない時は”未確認情報”と表示したいのです。

以下コードで実行したら一応動いたのですが、一つ気になる点ありアプリを起動して最初にチェックボックスがチェック無しで表示されるのですが、その時に”未確認情報”の文字が無く何も表示されないのです。  
そのままチェックを入れたら”確認済”、チェックを外すと”未確認情報”と思惑通りの動きとなります。

最初の実行時にチェック無しの文字【”未確認情報”】が表示されないのでどう変更すればいよいか悩んでおります。  
熟練の方、手助け頂けないでしょうか？

[code]

    final CheckBox chkbox01 = (CheckBox)findViewById(R.id.checkbox01);
    chkbox01.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if(chkbox01.isChecked() == false){
                chkbox01.setText("未確認情報");
            }
            else{
                chkbox01.setText("確認済");
            }
        }
    });
    
[/code]


CC BY-SA 4.0
2020-08-09T15:15:16.423
69395
2020-08-10T06:20:43.683
2020-08-09T15:39:52.603
3060
41441
question
android
Android Studio アプリを実行した時にチェックボックスの文字がなぜか表示されない


質問者さんのコードでは、チェックボックスを切り替えた時の挙動のみが指定されています（`setOnClickListener`はチェックボックスをクリックしたときにしか呼び出されないということです）。したがって、起動直後の挙動を別途指定する必要があります。

Acvitityがロードされると[`onCreate`](https://developer.android.com/reference/android/app/Activity.html#onCreate\(android.os.Bundle\))が呼び出されるので、以下のようにして`setText("未確認情報")`を呼び出します。

[code]

    public class MainActivity extends Activity {
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        ...
    
        CheckBox chkbox01 = (CheckBox)findViewById(R.id.checkbox01);
        chkbox01.setText("未確認情報");
      }
    }
    
[/code]

もしくは、[リファレンス](https://developer.android.com/guide/topics/ui/controls/checkbox?hl=ja#HandlingEvents)で示されているように、XMLのレイアウトで設定することもできます。

参考： [表示文字列の設定 - EditTextクラス - Androidプログラミング入門 |
JavaDrive](https://www.javadrive.jp/android/edittext/index3.html)


CC BY-SA 4.0
2020-08-09T23:43:43.287
69400
2020-08-10T06:20:43.683
2020-08-10T06:20:43.683
3060
7500
69395
answer