看板 AndroidDev 關於我們 聯絡資訊
請問一下 因為要使用畫布的關係 所以另外開一個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
LaPass:你的class是activity的inner class嗎? 如果是, 05/12 15:22
LaPass:Activity.this.finish()應該就會有作用了 05/12 15:23
LaPass:這個問題跟你程式結構有關,只看這些資訊只能亂猜.... 05/12 15:25
http://codepad.org/EN7B9Ix2 這是還沒有finish的情況,想請問一下該怎麼做才能finish()。 ※ 編輯: tanker 來自: 123.204.163.249 (05/12 20:02)
shietsd:先切回原本的 activity 再 finish ? 05/12 20:10
LaPass:在onTouchEvent裡,關閉時用 this.XXXX().finish(); 05/12 20:17
LaPass:xxxx 是取得所屬的activity的方法,但是有可能是activity的 05/12 20:18
LaPass:父類別,例如Context之類的。另外,如果context沒有finish 05/12 20:20
LaPass:方法的話,就把Context轉型成Activity。 05/12 20:21
LaPass:如果你覺得找文件很麻煩,或是說明很難找的話,就在Graph2 05/12 20:22
LaPass:的建構子改成public Graph2(Activity context) 05/12 20:23
LaPass:並多加個欄位去把context存起來,要關閉時就用 05/12 20:24
LaPass:context.finish(); 就可以了 05/12 20:24
LaPass:PS: xxxx 是取得所屬的activity的方法 <= 從View的文件去找 05/12 20:25
謝謝 總算解決了 ※ 編輯: tanker 來自: 140.113.144.196 (05/13 17:32)