Androidで finish(); が場所によっては入られません。 真っ赤な字になって反応しません。 メインじゃないクラスだとよく起こるようです。
Androidで finish(); が場所によっては入られません。 真っ赤な字になって反応しません。 メインじゃないクラスだとよく起こるようです。 メインでも何故か起こることがあります。 どうすれば安定して使えるようになるでしょうか?
ベストアンサー
javaは関数単体で存在しません。 必ずクラスに属します。 finish()はActivityクラスのインスタンスメソッドです。 https://developer.android.com/reference/android/app/Activity?hl=ja#finish() なので、 Activity関係ないクラスからfinishだけ呼んでも動きません。 そのクラスに表示しているActivityを参照する変数、メソッドが備わっているなら、 activity.finith(); とすれば良いです。 Acivityのインスタンスメソッドだから、Activity内でもstaticメソッド、クラスからは実行できません
質問者からのお礼コメント
出来ましたー。 基礎がとてもよく分かって良かったです。 ありがとうございました。
お礼日時:6/16 18:35