package com.smartalk.gank.ui.base;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import com.smartalk.gank.presenter.BasePresenter;
import com.umeng.analytics.MobclickAgent;
import butterknife.ButterKnife;
/**
* 基础Activity
* Created by panl on 15/12/24.
*/
public abstract class BaseActivity<T extends BasePresenter> extends AppCompatActivity {
protected String TAG = this.getClass().getSimpleName();
protected T presenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(provideContentViewId());
ButterKnife.bind(this);
initPresenter();
Log.i(TAG, "onCreate");
}
protected abstract int provideContentViewId();
protected abstract void initPresenter();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
break;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "onRestart");
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart");
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
Log.i(TAG, "onResume");
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
Log.i(TAG, "onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
ButterKnife.unbind(this);
Log.i(TAG, "onDestroy");
}
}