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();
}
}
}