iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
Mobile Development

Android Studio 學習筆記系列 第 4

Android Studio - 用Intent跟Bundle做一個BaseActivity

  • 分享至 

  • xImage
  •  

在一開始練習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,否則會無法使用。


上一篇
Android Studio - Intent&Bundle
下一篇
Android Studio - SharedPreferences
系列文
Android Studio 學習筆記10
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言