package com.dahuo.learn.act; import android.content.Intent; import android.databinding.DataBindingUtil; import android.os.Bundle; import android.support.design.widget.NavigationView; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.view.MenuItem; import android.view.View; import com.dahuo.learn.startup.R; import com.dahuo.learn.startup.databinding.ActMainBinding; import com.github.captain_miao.recyclerviewutils.listener.RefreshRecyclerViewListener; import com.google.android.agera.Updatable; import in.srain.cube.views.ptr.PtrClassicFrameLayout; import in.srain.cube.views.ptr.PtrDefaultHandler; import in.srain.cube.views.ptr.PtrFrameLayout; import in.srain.cube.views.ptr.PtrHandler; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, Updatable, RefreshRecyclerViewListener { private DrawerLayout mDrawerLayout; private ActMainBinding mDataBinding; private PtrClassicFrameLayout mPtrFrameLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDataBinding = DataBindingUtil.setContentView(this, R.layout.act_main); setSupportActionBar(mDataBinding.toolbar); mDrawerLayout = mDataBinding.drawerLayout; //for navigation final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, mDrawerLayout, mDataBinding.toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); mDrawerLayout.addDrawerListener(toggle); toggle.syncState(); mDataBinding.navView.setNavigationItemSelectedListener(this); mPtrFrameLayout = mDataBinding.ptrFrame; mPtrFrameLayout.setEnabledNextPtrAtOnce(true); mPtrFrameLayout.setLastUpdateTimeRelateObject(this); mPtrFrameLayout.setPtrHandler(new PtrHandler() { @Override public void onRefreshBegin(PtrFrameLayout frame) { } @Override public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) { return PtrDefaultHandler.checkContentCanBePulledDown(frame, content, header); } }); } @Override protected void onDestroy() { super.onDestroy(); } @Override public void onBackPressed() { if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) { mDrawerLayout.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { // Handle navigation view item clicks here. int id = item.getItemId(); switch (id) { case R.id.nav_home: item.setChecked(true); mDrawerLayout.closeDrawers(); return true; case R.id.nav_set: mDrawerLayout.closeDrawers(); break; case R.id.nav_city: mDrawerLayout.closeDrawers(); break; } //mDrawerLayout.closeDrawer(GravityCompat.START); return true; } @Override public void update() { } @Override public void onRefresh() { } @Override public void onLoadMore(int pagination, int pageSize) { // do nothing } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1 && resultCode == RESULT_OK){ // refresh onRefresh(); } } }