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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

582閲覧

TimePickerへの時と分のセットが上手く動作しない

jun74

総合スコア338

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/08/06 13:24

前提・実現したいこと

TimePickerへの時と分のセットについて、時を先にセットすると時のみ、
分を先にセットすると分のみしか変更されない動作をする。
時、分ともに変更したい。

該当のソースコード

java

1 int wk_hour; 2 int wk_minute; 3 4 // マイナス10分押下時の処理 5 TextView t_minus10 = layout.findViewById(R.id.t_minus10); 6 t_minus10.setOnClickListener(new View.OnClickListener() { 7 @Override 8 public void onClick(View v) { 9 wk_minute = wk_minute - 10; 10 if(wk_minute < 0){ 11 wk_hour = wk_hour - 1; 12 if(wk_hour < 0){ 13 wk_hour = 24 + wk_hour; 14 } 15 wk_minute = 60 + wk_minute; 16 } 17 tm_picker.setCurrentHour(wk_hour); 18 tm_picker.setCurrentMinute(wk_minute); 19 } 20 });

試したこと

上記ソースの通り実行して、時のみしか変更されず、
tm_picker.setCurrentMinute(wk_minute);
tm_picker.setCurrentHour(wk_hour);
の順で実行してみて、分しか変更されないことを確認。

補足情報(FW/ツールのバージョンなど)

Android Studio3.4
対象API=14から28

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

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

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

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

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

guest

回答1

0

自己解決

以下、TimePicker変更時の時、分ゲットと上記のセット時を同じ項目でやり取りしたため、上記で時間をセットし変更した瞬間に以下のロジックで分を取得し直してしまうためでした。。

java

1 // TimePicker変更時の処理 2 tm_picker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { 3 @Override 4 public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 5 wk_hour = tm_picker.getCurrentHour(); 6 wk_minute = tm_picker.getCurrentMinute(); 7 } 8 });

ゲットとセットのwk項目を別々にして対処します。

投稿2019/08/06 13:34

jun74

総合スコア338

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問