質問編集履歴

1

回答の御礼と気づき

2019/03/24 14:56

投稿

JoeyYuas
JoeyYuas

スコア13

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,63 @@
87
87
 
88
88
 
89
89
  この理由をご教授いただけないでしょうか。
90
+
91
+
92
+
93
+ ***************************
94
+
95
+
96
+
97
+ ご回答ありがとうございます!
98
+
99
+ keicha_hrsさんのご提示いただいた方法で通りました!
100
+
101
+
102
+
103
+ また自分で試していて気づいたのですが、内部クラスから外のメソッドや変数などを使用したい場合、
104
+
105
+ Kotlinだと明示的に`inner`クラスであることを書かなければなりませんでした。
106
+
107
+
108
+
109
+ ```Kotlin
110
+
111
+ class Test : AppCompatActivity() {
112
+
113
+
114
+
115
+ override fun onCreate(savedInstanceState: Bundle?) {
116
+
117
+ super.onCreate(savedInstanceState)
118
+
119
+ setContentView(R.layout.activity_test)
120
+
121
+ }
122
+
123
+
124
+
125
+ private inner class HelloListener : View.OnClickListener {
126
+
127
+ override fun onClick(view: View?) {
128
+
129
+ val input : EditText = findViewById(R.id.etName)
130
+
131
+ }
132
+
133
+ }
134
+
135
+ }
136
+
137
+ ```
138
+
139
+
140
+
141
+ Javaではわざわざこんな書き方をしなくても内部クラスより外のクラスで定義されているメソッドや変数を呼び出すことができましたが、Kotlinでは`innner`と明記する必要があります。
142
+
143
+
144
+
145
+ Javaだと無意識にやっていたことも、Kotlinだと意識させられるので勉強になりました…
146
+
147
+
148
+
149
+ ありがとうございます!