質問編集履歴

3

追記

2020/02/13 12:45

投稿

noname1234
noname1234

スコア6

test CHANGED
File without changes
test CHANGED
@@ -8,6 +8,20 @@
8
8
 
9
9
 
10
10
 
11
+ ※追記
12
+
13
+ 実現方法としては、AsyncTaskを継承したクラスファイルをAPIの処理毎に用意(3つ)して、
14
+
15
+ 外部API(1)処理のcreateListener1()のonSuccess()内で、
16
+
17
+ 外部API(2)処理のcreateListener2()を呼び出し、
18
+
19
+ createListener2()のonSuccess()内でcreateListener3()を呼び出す形となりますでしょうか。
20
+
21
+ 開発素人のため、そもそも誤っていたら指摘ください。
22
+
23
+
24
+
11
25
  ### 実現したいこと
12
26
 
13
27
  0. ボタンをクリック

2

ソースの抜けを修正

2020/02/13 12:45

投稿

noname1234
noname1234

スコア6

test CHANGED
File without changes
test CHANGED
@@ -314,6 +314,8 @@
314
314
 
315
315
 
316
316
 
317
+             String urlB = TO_API2 + "api_id=" + API_ID + str1 + str2 + "&lang=" + LANG;
318
+
317
319
              getAsyncTask = new GetAsyncTask(MainActivity.this);
318
320
 
319
321
         getAsyncTask.setListener(createListener2());

1

指摘を含めた修正

2020/02/13 09:41

投稿

noname1234
noname1234

スコア6

test CHANGED
File without changes
test CHANGED
@@ -291,3 +291,45 @@
291
291
  }
292
292
 
293
293
  ```
294
+
295
+
296
+
297
+ ```MainActivity修正
298
+
299
+ private GetAsyncTask.Listener createListener1() {
300
+
301
+ return new GetAsyncTask.Listener() {
302
+
303
+ @Override
304
+
305
+ public void onSuccess(InputStream xml) {
306
+
307
+ try {
308
+
309
+ getXMLContents(xml);
310
+
311
+ testA = responseData1;
312
+
313
+ testB = responseData2;
314
+
315
+
316
+
317
+             getAsyncTask = new GetAsyncTask(MainActivity.this);
318
+
319
+        getAsyncTask.setListener(createListener2());
320
+
321
+        getAsyncTask.execute(urlB);
322
+
323
+ } catch (Exception e) {
324
+
325
+ e.printStackTrace();
326
+
327
+ }
328
+
329
+ }
330
+
331
+ };
332
+
333
+ }
334
+
335
+ ```