回答編集履歴

3

修正

2022/12/11 17:40

投稿

jimbe
jimbe

スコア12672

test CHANGED
@@ -1,5 +1,5 @@
1
1
  TestClass の button プロパティが testVal 等と違うのは、その値としてメソッドの戻り値を入れていることです。
2
2
 
3
3
  TestClass も MainActivity と同じく AppCompatActivity ですので、呼んでいる findViewById は当然自身のメソッドであり、自身のビュー階層からビューを探す処理になります。
4
- TestClass は MainActivity で作成された単なるオブジェクトで Android アプリの土台となる機能は一切動作しませんし、プロパティの定義があるだけなのでビュー階層も無く、 findViewById がその処理をする仮定で例外を発する可能性は十分あるでしょう。
4
+ testClass オブジェクトは MainActivity で作成された単なるオブジェクトで Android アプリの土台となる機能は一切動作しませんし、プロパティの定義があるだけでビュー階層も無く、それらの理由により findViewById がその処理をする過程で例外を発する可能性は十分あるでしょう。
5
5
  (どこで発生したかはエラーメッセージにスタックトレースとして表示されていたはずです。それにより『別のClassの変数を参照』したことが原因なのかも推測できたのでは無いでしょうか。)

2

修正

2022/12/11 17:37

投稿

jimbe
jimbe

スコア12672

test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  TestClass も MainActivity と同じく AppCompatActivity ですので、呼んでいる findViewById は当然自身のメソッドであり、自身のビュー階層からビューを探す処理になります。
4
4
  TestClass は MainActivity で作成された単なるオブジェクトで、 Android アプリの土台となる機能は一切動作しませんし、プロパティの定義があるだけなのでビュー階層も無く、 findViewById がその処理をする仮定で例外を発する可能性は十分あるでしょう。
5
- (どこで発生したかはエラーメッセージにスタックトレースとして表示されていたはずです。)
5
+ (どこで発生したかはエラーメッセージにスタックトレースとして表示されていたはずです。それにより『別のClassの変数を参照』したことが原因なのかも推測できたのでは無いでしょうか。)

1

修正

2022/12/11 17:33

投稿

jimbe
jimbe

スコア12672

test CHANGED
@@ -1,4 +1,4 @@
1
- button プロパティが testVal 等と違うのは、その値としてメソッドの戻値を入れていることです。
1
+ TestClass の button プロパティが testVal 等と違うのは、その値としてメソッドの戻値を入れていることです。
2
2
 
3
3
  TestClass も MainActivity と同じく AppCompatActivity ですので、呼んでいる findViewById は当然自身のメソッドであり、自身のビュー階層からビューを探す処理になります。
4
4
  TestClass は MainActivity で作成された単なるオブジェクトで、 Android アプリの土台となる機能は一切動作しませんし、プロパティの定義があるだけなのでビュー階層も無く、 findViewById がその処理をする仮定で例外を発する可能性は十分あるでしょう。