[問題] 將Activity給關閉

看板AndroidDev作者 (早起精神好)時間13年前 (2012/05/12 15:20), 編輯推噓3(3010)
留言13則, 2人參與, 最新討論串1/1
請問一下 因為要使用畫布的關係 所以另外開一個class extends view 想要使用MotionEvent中的FingerDown來判斷畫線 若要使畫兩條後點螢幕一下就使程式關閉 那finish()要寫哪裡呢 若寫在Activity下的 Activity.this.finish() if(num==2) TouchActivity.this.finish(); 會沒法讀到 想請問怎麼寫在另一個class extends view裡 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.64.108

05/12 15:22, , 1F
你的class是activity的inner class嗎? 如果是,
05/12 15:22, 1F

05/12 15:23, , 2F
Activity.this.finish()應該就會有作用了
05/12 15:23, 2F

05/12 15:25, , 3F
這個問題跟你程式結構有關,只看這些資訊只能亂猜....
05/12 15:25, 3F
http://codepad.org/EN7B9Ix2 這是還沒有finish的情況,想請問一下該怎麼做才能finish()。 ※ 編輯: tanker 來自: 123.204.163.249 (05/12 20:02)

05/12 20:10, , 4F
先切回原本的 activity 再 finish ?
05/12 20:10, 4F

05/12 20:17, , 5F
在onTouchEvent裡,關閉時用 this.XXXX().finish();
05/12 20:17, 5F

05/12 20:18, , 6F
xxxx 是取得所屬的activity的方法,但是有可能是activity的
05/12 20:18, 6F

05/12 20:20, , 7F
父類別,例如Context之類的。另外,如果context沒有finish
05/12 20:20, 7F

05/12 20:21, , 8F
方法的話,就把Context轉型成Activity。
05/12 20:21, 8F

05/12 20:22, , 9F
如果你覺得找文件很麻煩,或是說明很難找的話,就在Graph2
05/12 20:22, 9F

05/12 20:23, , 10F
的建構子改成public Graph2(Activity context)
05/12 20:23, 10F

05/12 20:24, , 11F
並多加個欄位去把context存起來,要關閉時就用
05/12 20:24, 11F

05/12 20:24, , 12F
context.finish(); 就可以了
05/12 20:24, 12F

05/12 20:25, , 13F
PS: xxxx 是取得所屬的activity的方法 <= 從View的文件去找
05/12 20:25, 13F
謝謝 總算解決了 ※ 編輯: tanker 來自: 140.113.144.196 (05/13 17:32)
文章代碼(AID): #1FhWz2XO (AndroidDev)