package com.example.administrator.cookman.ui.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.widget.TextView; import com.example.administrator.cookman.IView.ICookListView; import com.example.administrator.cookman.R; import com.example.administrator.cookman.model.entity.CookEntity.CookDetail; import com.example.administrator.cookman.presenter.CookListPresenter; import com.example.administrator.cookman.presenter.Presenter; import com.example.administrator.cookman.ui.adapter.CookListAdapter; import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.Footer.BottomProgressView; import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.RefreshListenerAdapter; import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.TwinklingRefreshLayout; import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.header.bezierlayout.BezierLayout; import com.example.administrator.cookman.utils.ToastUtil; import java.util.ArrayList; import butterknife.Bind; public class CookListActivity extends BaseSwipeBackActivity implements ICookListView { @Bind(R.id.text_title) public TextView textTitle; @Bind(R.id.toolbar) public Toolbar toolbar; @Bind(R.id.refresh_layout) public TwinklingRefreshLayout twinklingRefreshLayout; @Bind(R.id.recyclerview_list) public RecyclerView recyclerList; private String cid; private String name; private CookListAdapter cookListAdapter; private CookListPresenter cookListPresenter; @Override protected Presenter getPresenter(){ return cookListPresenter; } @Override protected int getLayoutId(){ return R.layout.activity_cook_list; } @Override protected void init(Bundle savedInstanceState){ setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayUseLogoEnabled(false); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); Intent intent = getIntent(); cid = intent.getStringExtra(Intent_Type_Cid); name = intent.getStringExtra(Intent_Type_Name); textTitle.setText(name); recyclerList.setLayoutManager(new LinearLayoutManager(recyclerList.getContext())); cookListAdapter = new CookListAdapter(this); recyclerList.setAdapter(cookListAdapter); BezierLayout headerView = new BezierLayout(this); headerView.setRoundProgressColor(getResources().getColor(R.color.white)); headerView.setWaveColor(getResources().getColor(R.color.colorPrimary)); headerView.setRippleColor(getResources().getColor(R.color.white)); twinklingRefreshLayout.setHeaderView(headerView); twinklingRefreshLayout.setWaveHeight(140); BottomProgressView bottomProgressView = new BottomProgressView(twinklingRefreshLayout.getContext()); bottomProgressView.setAnimatingColor(getResources().getColor(R.color.colorPrimary)); twinklingRefreshLayout.setBottomView(bottomProgressView); twinklingRefreshLayout.setOverScrollBottomShow(true); twinklingRefreshLayout.setOnRefreshListener(new RefreshListenerAdapter() { @Override public void onRefresh(final TwinklingRefreshLayout refreshLayout) { cookListPresenter.updateRefreshCookMenuByID(cid); } @Override public void onLoadMore(final TwinklingRefreshLayout refreshLayout) { cookListPresenter.loadMoreCookMenuByID(cid); } }); cookListPresenter = new CookListPresenter(this, this); cookListPresenter.updateRefreshCookMenuByID(cid); } @Override public void onBackPressed() { boolean success = getSupportFragmentManager().popBackStackImmediate(); if (!success) super.onBackPressed(); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { finish(); } return super.onOptionsItemSelected(item); } /********************************************************************************************/ @Override public void onCookListUpdateRefreshSuccess(ArrayList<CookDetail> list){ twinklingRefreshLayout.finishRefreshing(); cookListAdapter.setDataList(list); cookListAdapter.notifyDataSetChanged(); } @Override public void onCookListUpdateRefreshFaile(String msg){ twinklingRefreshLayout.finishRefreshing(); ToastUtil.showToast(this, msg); } @Override public void onCookListLoadMoreSuccess(ArrayList<CookDetail> list){ twinklingRefreshLayout.finishLoadmore(); cookListAdapter.addItems(list); } @Override public void onCookListLoadMoreFaile(String msg){ twinklingRefreshLayout.finishLoadmore(); ToastUtil.showToast(this, msg); } /********************************************************************************************/ private static final String Intent_Type_Cid = "cid"; private static final String Intent_Type_Name = "name"; public static void startActivity(Activity activity, String cid, String name){ Intent intent = new Intent(activity, CookListActivity.class); intent.putExtra(Intent_Type_Cid, cid); intent.putExtra(Intent_Type_Name, name); activity.startActivity(intent); } }