質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

1021閲覧

日付をタッチしたらボタンが出てくる処理について

despaine198

総合スコア7

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2020/05/09 04:26

現在カレンダーアプリを作成しています。
日付をタップしたらボタンが出てくる処理に挑戦していますが、
その日付をタップする前にボタンが出てしまっている状態になっています。
この処理をするにはどうしたら良いのでしょうか?
条件分岐で試してみましたが思うような結果にはなりませんでした。
ボタンの位置は適当です。現時点では、日付をタップしてボタンを表示することに専念しているためです。
現在のコードの一部です。とりあえずXMLファイルにも原因あるかもしれないので載せておきます。

MainActivity.java

1 DatePicker datePicker1 = findViewById(R.id.datePicker1); 2 datePicker1.init(year, month, day, new DatePicker.OnDateChangedListener() { 3 @Override 4 public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 5 // 日付を選択した時に実行される部分 6 Button button = findViewById(R.id.button); 7 } 8 });

activity_main.xml

1<DatePicker 2 android:id="@+id/datePicker1" 3 android:layout_width="wrap_content" 4 android:layout_height="744dp" 5 android:layout_gravity="center|top"/> 6 7 <Button 8 android:id="@+id/button" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:layout_gravity="center|top" 12 android:text="Button" />

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ボタンの表示・非表示を切り替える方法で実現できませんでしょうか。
※動作確認していないので、動かなかった場合は適宜微調整お願いいたします。

・手順
1、XMLファイルに、ボタン非表示の設定追加
2、Javaファイルに、日付ボタン押下時にボタンを表示する処理追加
(必要あれば、ボタンを再度非表示にする処理をどこかに追加する)

XML

1<Button 2 android:id="@+id/button" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:layout_gravity="center|top" 6 android:text="Button" 7 android:visibility="invisible" /> <!-- "invisible"で非表示状態にする -->

java

1Button button = findViewById(R.id.button); 2DatePicker datePicker1 = findViewById(R.id.datePicker1); 3 datePicker1.init(year, month, day, new DatePicker.OnDateChangedListener() { 4 @Override 5 public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 6 // 日付を選択した時に実行される部分 7 button.setVisibility(View.VISIBLE); // 非表示状態から、表示状態に変更 8 } 9 });

投稿2020/05/09 05:24

tsuki01

総合スコア1751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

despaine198

2020/05/09 06:01

javaファイルにおいてbuttonの宣言はonDateChanged()で行ったらできました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問