package com.dxjia.doubantop.activitys; import android.content.Intent; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.view.View; import com.dxjia.doubantop.R; import com.dxjia.doubantop.adapters.FavoritesAdapter; import com.dxjia.doubantop.datas.Favorites; import com.dxjia.doubantop.datas.beans.BeansUtils; import com.dxjia.doubantop.datas.beans.MovieMajorInfos; import com.dxjia.doubantop.interfaces.FavoritesItemClickListener; import butterknife.ButterKnife; import butterknife.InjectView; public class FavoritesActivity extends AppCompatActivity implements FavoritesItemClickListener { @InjectView(R.id.toolbar) Toolbar mToolbar; @InjectView(R.id.favorites_list) RecyclerView mFavoritesList; private FavoritesAdapter mFavoritesAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_favorites); ButterKnife.inject(this); setSupportActionBar(mToolbar); final ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true); } setupRecycleView(); } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); switch (id) { case android.R.id.home: this.finish(); return true; } return super.onOptionsItemSelected(item); } private void setupRecycleView() { if (mFavoritesList == null) return; mFavoritesList.setHasFixedSize(true); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this); mFavoritesList.setLayoutManager(layoutManager); mFavoritesList.setItemAnimator(new DefaultItemAnimator()); mFavoritesAdapter = new FavoritesAdapter(Favorites.all()); mFavoritesAdapter.setItemClickListener(this); mFavoritesList.setAdapter(mFavoritesAdapter); } @Override public void onItemClick(View view, Favorites favorites) { MovieMajorInfos movieMajorInfos = new MovieMajorInfos(); movieMajorInfos.fillDatas(favorites.getMoiveId(), favorites.getMovieTitle(), favorites.getMovieImageUri(), favorites.getCastsCount(), favorites.getCastsIds(), favorites.getCastsImageUris(), favorites.getDirectorId(), favorites.getDirectorImageUri(), favorites.getMovieScore()); showDetail(movieMajorInfos); } private void showDetail(MovieMajorInfos movieMajorInfos) { Intent intent = new Intent(FavoritesActivity.this, DetailActivity.class); intent.putExtra(BeansUtils.MOVIE_MAJOR_INFOS_KEY, movieMajorInfos); startActivity(intent); } }