在一開始練習Android Studio的時候,還沒使用到fragment(後面會介紹),所以只好一直使用Activity,所以就實作了一個BaseActivity以方便跳頁傳值與程式簡潔。
public class BaseActivity extends AppCompatActivity {
protected void start(Class<?>next, Bundle bundle,boolean finished){
Intent intent = new Intent();
intent.setClass(this,next);
//這邊記得要空值設定,否則會報錯!!
if(bundle==null)intent.putExtras(new Bundle());
else intent.putExtras(bundle);
startActivity(intent);
if (finished) this.finish();
}
//這邊新增三種情況,以便後續使用
protected void start(Class<?>next){
this.start(next,null,false);
}
protected void start(Class<?>next,Bundle bundle){
this.start(next,bundle,false);
}
protected void start(Class<?>next,boolean finished){
this.start(next,null,finished);
}
}
第一種情況是只需要跳頁,沒有要傳送資料,也沒有要結束原本那頁。
後續使用方式: start(NextActivity.class); 即可跳頁。
第二種情況是需要跳要傳值,但沒有要結束原本那頁。
後續使用方式: start(NextActivity.class , bundle); 即可跳頁傳值。
第三種情況是需要跳要傳值,然後終止原本那頁。
後續使用方式: start(NextActivity.class , bundle , finished); 即可跳頁傳值並終止原本那頁。
注意若要只用此方式記得要先extends進Activity,否則會無法使用。