寫了個簡單的頁面跳轉方法,但我發現一直運行不成功。ActivityOne跳向ActivityTwo并結束自己,用了finish()函式,但我發現finish每次呼叫都會結束我整個程式。是android版本問題嗎?請大佬指點指點我啊

uj5u.com熱心網友回復:
把你的代碼貼上來看一看uj5u.com熱心網友回復:
public class ActivityA extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mainA);
startActivity(new Intent(ActivityA.this,ActivityB.class);
ActivityA.this.finish();
}
}
就這樣,跳轉后整個程式被殺死。然后我把finish()換成onDestory(),然后才成功。
入口activity不能用finish()來終結自己嗎?這樣會殺死整個程式嗎?我有點懵了,以前我都是那樣寫的。
uj5u.com熱心網友回復:
startActivity少了個括號編譯的時候不會出錯么uj5u.com熱心網友回復:
1.crash堆疊發上來,大家看看2.onDestory你不能顯式呼叫
uj5u.com熱心網友回復:
2019年最新總結,從程式員到CTO,從專業走向卓越,大牛分享檔案pdf與PPT整理https://github.com/0voice/from_coder_to_expert
uj5u.com熱心網友回復:
那是我手打的,少打了
uj5u.com熱心網友回復:
1.呼叫finish可以結束當前activity2.你呼叫finish是什么情況?崩潰?還是無效果。
uj5u.com熱心網友回復:
是不是程式崩潰導致看起來所有界面都退出了。把finfish注銷能正常跳轉嗎uj5u.com熱心網友回復:
不是崩潰,正常結束,但不是當前activity,而是整個程式??
uj5u.com熱心網友回復:
我試了,我設定一個定時跳轉,當finish執行時,整個程式直接退出,然后我換成了onDestroy
uj5u.com熱心網友回復:
1.在ActivityB中打下日志,看是否啟動。
2.把finish這行注釋掉與不注釋掉分別試一下
uj5u.com熱心網友回復:
啟動了,因為是先跳轉后finish嘛,跳過去后AvtivityA執行finish時,A和B都關閉了uj5u.com熱心網友回復:
你的B在Manifest里宣告了嘛……?uj5u.com熱心網友回復:
把你的代碼貼上來看一看
public class ActivityA extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mainA);
startActivity(new Intent(ActivityA.this,ActivityB.class);
ActivityA.this.finish();
}
}
就這樣,跳轉后整個程式被殺死。然后我把finish()換成onDestory(),然后才成功。
入口activity不能用finish()來終結自己嗎?這樣會殺死整個程式嗎?我有點懵了,以前我都是那樣寫的。
uj5u.com熱心網友回復:
你試下,新建一個子執行緒啟動看下uj5u.com熱心網友回復:
1.是你在b里面也寫了finish方法,在b的finish里打個斷點試試2.包例外了,被捕獲所有你沒發現,再仔細看看日志
你可以這樣測驗:
1.先跳轉到b,延時2秒后a再finish看看情況
2.先finish,延時2秒后再跳轉看看情況
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/137196.html
標籤:Android
上一篇:Glide
下一篇:安卓studio無緣無故爆紅
