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

質問編集履歴

6

質問内容を修正

2021/07/18 09:13

投稿

noko123
noko123

スコア28

title CHANGED
File without changes
body CHANGED
@@ -38,4 +38,4 @@
38
38
  binding.framelayout.removeAllViews()
39
39
  }
40
40
  ```
41
- とすると、課金ダイアログが閉じられるとともにフラグメントが消えました。ということは、onResume()は実行されていて、値はtrueに変更されているということだと思うのですが、なぜ以前のフラグメントがそのまま表示されまなのでしょうか?replaceしていてもバックスタックに残っているということでしょうか?もし破棄させる方法をご存じの方がいらっしゃれば教えて下さい。よろしくお願いします。
41
+ とすると、課金ダイアログが閉じられるとともにフラグメントが消えました。ということは、onResume()は実行されていて、値はtrueに変更されているということだと思うのですが、なぜ以前のフラグメントがそのまま表示されてしのでしょうか?replaceしていてもバックスタックに残っているということでしょうか?もし破棄させる方法をご存じの方がいらっしゃれば教えて下さい。よろしくお願いします。

5

誤字修正

2021/07/18 09:13

投稿

noko123
noko123

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- google play billing libraryを使って課金後に特定のフラグメントを即時非表示にしたいです。billingUpdataListener内で共有プリファレンスの値をtrueに変更しています。課金完了後にダイアログが閉じられると、課金メニューは共有プリファレンスの値変更とともに非表示になっているのに、flamelayoutにreplaceで展開したフラグメントが破棄されず残ってしまいます。
1
+ google play billing libraryを使って課金後に特定のフラグメントを即時非表示にしたいです。billingUpdataListener内で共有プリファレンスの値をtrueに変更しています。課金完了後にダイアログが閉じられると、課金メニューは共有プリファレンスの値変更とともに非表示になっているのに、framelayoutにreplaceで展開したフラグメントが破棄されず残ってしまいます。
2
2
 
3
3
  ```ここに言語を入力
4
4
  override fun onPrepareOptionsMenu(menu: Menu?): Boolean {//

4

コードを修正

2021/07/18 06:58

投稿

noko123
noko123

スコア28

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  ```ここに言語を入力
4
4
  override fun onPrepareOptionsMenu(menu: Menu?): Boolean {//
5
5
  val billing=pref.getBoolean("billing", false)
6
- if(adDisplayBilling==true){
6
+ if(billing==true){
7
7
  menu?.getItem(2)?.setVisible(false)
8
8
 
9
9
  }

3

質問をより詳細に。

2021/07/18 06:57

投稿

noko123
noko123

スコア28

title CHANGED
File without changes
body CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  }
27
27
  ```
28
- onResume()に記載したfragmentに関するコードが実行されていないのかと思い、
28
+ onResume()に記載したfragmentに関するコードが実行されていないのかと思い、確認のため
29
29
  ```ここに言語を入力
30
30
  val billing=pref.getBoolean("billing",false)
31
31
  if(billing==false){

2

コードの順番を変更

2021/07/18 06:37

投稿

noko123
noko123

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,17 @@
1
1
  google play billing libraryを使って課金後に特定のフラグメントを即時非表示にしたいです。billingUpdataListener内で共有プリファレンスの値をtrueに変更しています。課金完了後にダイアログが閉じられると、課金メニューは共有プリファレンスの値変更とともに非表示になっているのに、flamelayoutにreplaceで展開したフラグメントが破棄されず残ってしまいます。
2
+
2
3
  ```ここに言語を入力
4
+ override fun onPrepareOptionsMenu(menu: Menu?): Boolean {//
5
+ val billing=pref.getBoolean("billing", false)
6
+ if(adDisplayBilling==true){
7
+ menu?.getItem(2)?.setVisible(false)
8
+
9
+ }
10
+
11
+ return true
12
+ }
13
+ ```
14
+ ```ここに言語を入力
3
15
  override fun onResume(){
4
16
 
5
17
  val billing=pref.getBoolean("billing",false)
@@ -12,20 +24,7 @@
12
24
  }
13
25
 
14
26
  }
15
-
16
-
17
27
  ```
18
- ```ここに言語を入力
19
- override fun onPrepareOptionsMenu(menu: Menu?): Boolean {//
20
- val billing=pref.getBoolean("billing", false)
21
- if(adDisplayBilling==true){
22
- menu?.getItem(2)?.setVisible(false)
23
-
24
- }
25
-
26
- return true
27
- }
28
- ```
29
28
  onResume()に記載したfragmentに関するコードが実行されていないのかと思い、
30
29
  ```ここに言語を入力
31
30
  val billing=pref.getBoolean("billing",false)

1

質問をより詳細に。

2021/07/18 06:37

投稿

noko123
noko123

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- google play billing libraryを使って課金後にあるフラグメントを即時非表示にしたいです。billingUpdataListener内で共有プリファレンスの値をtrueに変更しています。課金完了後にダイアログが閉じられると、課金メニューは共有プリファレンスの値変更とともに非表示になっているのに、flamelayoutにreplaceで展開したフラグメントが破棄されず残ってしまいます。
1
+ google play billing libraryを使って課金後に特定のフラグメントを即時非表示にしたいです。billingUpdataListener内で共有プリファレンスの値をtrueに変更しています。課金完了後にダイアログが閉じられると、課金メニューは共有プリファレンスの値変更とともに非表示になっているのに、flamelayoutにreplaceで展開したフラグメントが破棄されず残ってしまいます。
2
2
  ```ここに言語を入力
3
3
  override fun onResume(){
4
4