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