Fragmentのclassに

 

findViewById(R.id.xxx)

 

を使ったら、Rが赤字になってエラーで使えない。

 

なーぜーだー昇天

 

色々な単語でググった結果、

 

onCreateViewで使われてる「binding」という単語で原因っぽいのがヒットした

 

色々見たけど、Code for Funさんとこの説明が一番わかりやすかった!

 

 

今まで、さんざんお世話になってきた「findViewById」は、

無効なIDや間違った型を指定してしまうリスクがあるので、

新しい書式「View Binding」に変えていきましょう!

 

ということらしいw

勝手に変えないでくれ魂が抜ける

 

 

①View Binding を有効にする

 build.gradle.kts(Module :app)ファイルに以下の3行を追加
 ------------------------------
 buildFeatures {
        viewBinding = true
    }

 ------------------------------

※Bottom Navigation Views Activityでプロジェクト作ったので、勝手に追加済みだったw

 

②「Sync Now」する

 View Binding を有効化済みなので、Sync不要ww

 

③Bindingでコード書く

 以下の3行を所定の箇所に書いたら...

 ------------------------------
 private ActivityMainBinding binding;

 binding = ActivityMainBinding.inflate(getLayoutInflater());
 setContentView(binding.getRoot());
 ------------------------------

 Bindingは直接部品名使えちゃうよ!

 binding.message.setText("こんにちは");

 ※赤字が部品名

 

すごい!!意外と簡単!!

 

Bottom Navigation Views Activityがいろいろ勝手にやってくれてたので、

今回私が追記したのは赤枠のみ!

クリアボタンをクリックしたら、色々リセットされるコードができてしまった!!

便利ですねーニコニコ

 

 

あ、今、作ってるのは、買い物の時に、

 

割引シール付いてるけどいくらなの!?

内容量が違う同じ商品どっちがお得!?

電卓アプリで計算してたら、1つ目に計算した品の結果忘れたもやもや

 

という老化現象に対応する計算アプリですw

 

ついででタブで画面切り替えして、買い物チェックリスト画面と底値メモ画面の3画面を簡単に移動できるようにしたいです昇天