teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

まだミスが残ってた・・・

2018/04/28 09:08

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -31,12 +31,12 @@
31
31
 
32
32
  MainActivity.java
33
33
  ```Java
34
- MyThread myThread = new MyThread(this, new Handler());
34
+ MyThread myThread = new MyThread(MainActivity.this, new Handler());
35
35
  ```
36
36
 
37
37
  のようにして、コンストラクターで渡せば良いかと思います。
38
38
 
39
39
  ---
40
40
 
41
- (04/28 18:06
41
+ (04/28 18:08
42
42
  提示したコードにミスがあったため、修正しました(エミュレーターで動作確認)。

1

コード修正

2018/04/28 09:08

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -8,20 +8,35 @@
8
8
  ```Java
9
9
  public class MyThread extends Thread {
10
10
  private Context mContext;
11
+ private Handler mHandler;
11
12
 
12
- MyThread(Context context) {
13
+ MyThread(Context context, Handler handler) {
13
14
  mContext = context;
15
+ mHandler = handler;
14
16
  }
15
17
 
16
18
  // 中略
17
19
 
20
+ if (target != null){
21
+ mHandler.post(new Runnable() {
22
+ @Override
23
+ public void run() {
18
- Toast.makeText(mContext, "遅延ボタンが押されました", Toast.LENGTH_LONG).show();
24
+ Toast.makeText(mContext, "遅延ボタンが押されました", Toast.LENGTH_LONG).show();
25
+ }
26
+ });
27
+ target.dismiss();
28
+ }
19
29
 
20
30
  ```
21
31
 
22
32
  MainActivity.java
23
33
  ```Java
24
- MyThread myThread = new MyThread(this);
34
+ MyThread myThread = new MyThread(this, new Handler());
25
35
  ```
26
36
 
27
- のようにして、コンストラクターで渡せば良いかと思います。
37
+ のようにして、コンストラクターで渡せば良いかと思います。
38
+
39
+ ---
40
+
41
+ (04/28 18:06)
42
+ 提示したコードにミスがあったため、修正しました(エミュレーターで動作確認)。