役に立つダイアログ 2020/10/24 |
地味なダイアログを作ってみましたが、これをネタにどうやって発展させるか?よくわかりません。今回は応用が容易にできます。 アプリを起動すると、 年齢と名前が表示されます。本堂ならデータベースやファイルから取得したデータならより現実的ですが、今回は固定データです。ダイアログ起動ボタンをタップすると、 年齢と名前を編集することが出決まます。書籍などでは例えば名前だけBundleを使って編集するサンプルがあります。しかし、複数の項目を編集するサンプルはなかったです。この記事を見れば複数の項目の編集の仕方がわかります。 ①Empty Activityでプロジェクトを作成します。 Hwello world.が表示されるだけです。 ②ダイアログをひな形を作成する。 MainActivityを開ます。(これをしないと下記の操作ができません。) [File]-[New]-[Java Class]をクリックします。 クラス名をMyDlgにします。 最初はMyDlgだけで何もありません。Visual C++ならクラス作成は簡単にできるのにちょっと不親切?と思います。exとタイプすると入力補助きのうおが働きextendsが候補として表示されます。これを使います。 次にDialogFragmentを継承して使います。Dとタイプすると、 DialogFragmentがあります。なにかタイプすると候補を表示してくれます。 とりあえずひな形ができました。次にオーバーライドする関数です。DialogFragmentを範囲 指定します。 [Code]-[Generate]-[Override Methods] Overrideする候補が表示されます。 onCreateDialogを選択します。 コードはあとで書きます。 ③データの定義をする。 classをつかってでエータを定義します。 MyData.java
年齢と名前で構成されるデータです。このデータを使ってMainActivitとMyDlgでデータのやり取りをします。④MainActivityにMyFlgを実装 onCreate() MyDataの初期化 setTextView()でデータをTextViewに表示。 btn_Click() MyDygにMyDataをコピー MyDygの起動 ⑤MyDlgに機能の実装 onCreateDialog() MainActivityから取得したデータをEditTextに渡す。 .setPositiveButton() EditTextのデータをMyData形式にしてMainActivityに渡す。 MainActivityのsetTextView()でデータをTextViewに表示。 ソースコード: MyDlg.zip |