Android 中BaseActivty

來源:互聯網
上載者:User

標籤:

Base介面

IBaseActivity
package liu.basedemo.base;/** * 基類介面 * Created by 劉楠 on 2016/7/28 0028.23:05 */public interface IBaseActivity {    /**     * 返回視圖的布局(setContentView中使用)     * @return 返回視圖的布局     */     int bindLayout();    /**     * 初始化View(onCreate方法中調用)     */     void    initView();    /**     * 初始化資料(onCreate方法中調用)     */    void initData();    /**     * 初始監聽器(onCreate方法中調用)     */    void initListener();    /**     * 暫停恢複重新整理相關操作(onPause方法中調用)     */    public void pause();    /**     * 暫停恢複重新整理相關操作(onResume方法中調用)     */    public void resume();    /**     * 暫停恢複重新整理相關操作(onStop方法中調用)     */    public void stop();    /**     * 銷毀,釋放資源等操作在(onDestory方法中讞用)     */    public void destory();}
BaseActivity
package liu.basedemo.base;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.support.annotation.LayoutRes;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.Window;import java.lang.ref.WeakReference;import liu.basedemo.MyApplication;import liu.basedemo.R;/** * Activity基類 * Created by 劉楠 on 2016/7/28 0028.23:02 */public abstract class BaseActivity extends AppCompatActivity implements IBaseActivity {    /**     * 全域應用      */    MyApplication mMyApplication;    /**     * 弱引用     */    WeakReference<Activity> mTask;    @Override    public void setContentView(@LayoutRes int layoutResID) {        super.setContentView(layoutResID);    }    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        /**         * 設定布局         */        setContentView(bindLayout());        /**         * 抽象方法         */        initView();        initData();        initListener();                mMyApplication =MyApplication.getInstance();        mTask = new WeakReference<Activity>(this);        /**         * 新增工作棧         */        mMyApplication.pushTask(mTask);    }    @Override    public void pause() {        super.onPause();    }    @Override    public void stop() {        super.onStop();    }    @Override    public void destory() {        super.onDestroy();        /**         * 過場動畫         */        overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);        /**         * 移除任務棧         */        mMyApplication.removeTask(mTask);    }    @Override    public void startActivity(Intent intent) {        super.startActivity(intent);        /**         * 過場動畫         */        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);    }    @Override    public void startActivityForResult(Intent intent, int requestCode) {        super.startActivityForResult(intent, requestCode);        /**         * 過場動畫         */        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);    }}

 

 
 

Android 中BaseActivty

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.