回答編集履歴

1

情報の改良

2021/02/16 03:50

投稿

j.f15
j.f15

スコア23

test CHANGED
@@ -1,3 +1,5 @@
1
+ 下にさらに良いと思う実装方法に修正しました。(間違っていたら指摘していただけると助かります)
2
+
1
3
  ```
2
4
 
3
5
  //ログイン処理
@@ -23,3 +25,103 @@
23
25
  inflaterの理解をせずに使っていたり間違った実装をしていたりと酷いプログラムに
24
26
 
25
27
  なっていると思うので引き続き調べていきたいと思います。
28
+
29
+
30
+
31
+ ※追記。上記の方法よりも良いと思う実装方法
32
+
33
+
34
+
35
+ ・LoginActivity
36
+
37
+ ```
38
+
39
+ class LoginActivity : AppCompatActivity() {
40
+
41
+
42
+
43
+ private lateinit var binding : ActivityLoginBinding
44
+
45
+
46
+
47
+ override fun onCreate(savedInstanceState: Bundle?) {
48
+
49
+ super.onCreate(savedInstanceState)
50
+
51
+ binding = ActivityLoginBinding.inflate(layoutInflater)
52
+
53
+ setContentView(binding.root)
54
+
55
+
56
+
57
+ val actionBar: androidx.appcompat.app.ActionBar? = supportActionBar
58
+
59
+ getSupportActionBar()?.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
60
+
61
+ getSupportActionBar()?.setCustomView(R.layout.login_header);
62
+
63
+ actionBar?.setDisplayHomeAsUpEnabled(true)
64
+
65
+
66
+
67
+
68
+
69
+ val loginFragment = LoginFragment()
70
+
71
+ val fragmentTransaction = supportFragmentManager.beginTransaction()
72
+
73
+ fragmentTransaction.add(R.id.login_fragment_container, loginFragment)
74
+
75
+ fragmentTransaction.commit()
76
+
77
+ }
78
+
79
+
80
+
81
+ //プログレスバーの表示
82
+
83
+ fun progressbarVisible() {
84
+
85
+ binding.loginProgressbarLayout.visibility = View.VISIBLE
86
+
87
+ }
88
+
89
+
90
+
91
+ //プログレスバーの非表示
92
+
93
+ fun progressbarInvisible() {
94
+
95
+ binding.loginProgressbarLayout.visibility = View.INVISIBLE
96
+
97
+ }
98
+
99
+ }
100
+
101
+ ```
102
+
103
+
104
+
105
+ ・LoginFragment
106
+
107
+ ```
108
+
109
+ //ログイン処理
110
+
111
+ login_binding.loginBtn.setOnClickListener {
112
+
113
+ (activity as LoginActivity?)!!.progressbarVisible()
114
+
115
+ var user_token = viewModel.sendJsonData()
116
+
117
+
118
+
119
+ Log.d("トークン", ""+user_token)
120
+
121
+
122
+
123
+ // (activity as LoginActivity?)!!.progressbarInvisible()
124
+
125
+ }
126
+
127
+ ```