Skip to content

Commit

Permalink
show recommend list
Browse files Browse the repository at this point in the history
  • Loading branch information
Qixingchen committed Jun 18, 2015
1 parent a33ff5a commit b272afd
Show file tree
Hide file tree
Showing 15 changed files with 300 additions and 145 deletions.
2 changes: 1 addition & 1 deletion MDBilibili/app/build.gradle
Expand Up @@ -36,7 +36,7 @@ dependencies {
compile 'com.github.ctiao:dfm:0.3.2'
compile 'eu.the4thfloor.volley:com.android.volley:2015.05.13'
compile 'com.google.code.gson:gson:2.3.1'
compile "com.facebook.fresco:fresco:0.5.1+"
compile 'com.facebook.fresco:fresco:0.5.1+'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:cardview-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
Expand Down
3 changes: 1 addition & 2 deletions MDBilibili/app/src/main/AndroidManifest.xml
Expand Up @@ -14,8 +14,7 @@
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateHidden">
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

Expand Down
Expand Up @@ -2,44 +2,29 @@

import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.android.volley.toolbox.NetworkImageView;

/**
* Created by dell on 2015/6/15.
*/
public class BilibiliCardViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public class BilibiliCardViewHolder extends RecyclerView.ViewHolder {
private static final String TAG = "BilibiliCardViewHolder";
private ImageView imageView;
private TextView textView;
private View rootView;
private BilibiliCardViewHolderOnClick onClick;
public NetworkImageView imageView;
public TextView textView;
public View rootView;

public BilibiliCardViewHolder(View itemView, BilibiliCardViewHolderOnClick onClick) {
public BilibiliCardViewHolder(View itemView) {
super(itemView);
this.rootView = itemView;
this.onClick = onClick;
imageView = (ImageView) itemView.findViewById(R.id.card_view_image);
imageView = (NetworkImageView) itemView.findViewById(R.id.card_view_image);
textView = (TextView) itemView.findViewById(R.id.card_view_text);
}

//todo 同步代码
public BilibiliCardViewHolder(View itemView, BilibiliCardViewHolderOnClick onClick, int flag) {
public BilibiliCardViewHolder(View itemView, int flag) {
super(itemView);
this.rootView = itemView;
this.onClick = onClick;
imageView = (ImageView) itemView.findViewById(R.id.card_view_image);
textView = (TextView) itemView.findViewById(R.id.card_view_text);
}

@Override
public void onClick(View v) {
if (onClick != null) {
onClick.OnCardViewClick(v, getAdapterPosition());
}
}

public interface BilibiliCardViewHolderOnClick {
void OnCardViewClick(View view, int position);
}
}
@@ -1,37 +1,65 @@
package me.qixingchen.mdbilibili;

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.android.volley.toolbox.ImageLoader;

import me.qixingchen.mdbilibili.app.App;
import me.qixingchen.mdbilibili.model.Recommend;
import me.qixingchen.mdbilibili.network.GetVolley;

/**
* Created by dell on 2015/6/15.
*/
public class CardAdapter extends RecyclerView.Adapter<BilibiliCardViewHolder>
implements BilibiliCardViewHolder.BilibiliCardViewHolderOnClick {
public class CardAdapter extends RecyclerView.Adapter<BilibiliCardViewHolder> {

private Recommend recommend;
private ImageLoader mImageLoader;
private Context mContext;

public CardAdapter(Recommend recommend, Context context) {
this.recommend = recommend;
mContext = context;
mImageLoader = GetVolley.getmInstance(mContext).getImageLoader();
}

@Override
public BilibiliCardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.dast_bilibili_card_item, parent, false);
BilibiliCardViewHolder vh = new BilibiliCardViewHolder(v, this);
BilibiliCardViewHolder vh = new BilibiliCardViewHolder(v);
return vh;
}

@Override
public void onBindViewHolder(BilibiliCardViewHolder holder, int position) {

public void onBindViewHolder(BilibiliCardViewHolder holder, final int position) {
holder.textView.setText(recommend.getLists().get(position).getTitle());
holder.imageView.setImageUrl(recommend.getLists().get(position).getPic(), mImageLoader);
holder.rootView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent playDemoIntent = new Intent(App.getApplication(), Player.class);
String Aid = String.valueOf(recommend.getLists().get(position).getAid());
playDemoIntent.putExtra("AID", Aid);
playDemoIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(playDemoIntent);
}
});
}

@Override
public int getItemCount() {
return 20;
return recommend == null ? 0 : recommend.getLists().size();
}

@Override
public void OnCardViewClick(View view, int position) {
//todo 开始播放
//更新数据
public void notifyDateChanged(Recommend recommend) {
this.recommend = recommend;
this.notifyDataSetChanged();
}
}
@@ -1,6 +1,5 @@
package me.qixingchen.mdbilibili;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.NavigationView;
Expand All @@ -13,42 +12,37 @@
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;

import me.qixingchen.mdbilibili.app.App;


public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private DrawerLayout mDrawerLayout;
private EditText aidEditText;
private static final String TAG = "MainActivity";
private DrawerLayout mDrawerLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
aidEditText = (EditText) findViewById(R.id.AidEditText);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

final ActionBar ab = getSupportActionBar();
ab.setHomeAsUpIndicator(R.mipmap.ic_menu);
ab.setDisplayHomeAsUpEnabled(true);
final ActionBar ab = getSupportActionBar();
ab.setHomeAsUpIndicator(R.mipmap.ic_menu);
ab.setDisplayHomeAsUpEnabled(true);

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
if (navigationView != null) {
setupDrawerContent(navigationView);
}
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
if (navigationView != null) {
setupDrawerContent(navigationView);
}
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}

@Override
Expand All @@ -59,29 +53,23 @@ public boolean onCreateOptionsMenu(Menu menu) {

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
mDrawerLayout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case android.R.id.home:
mDrawerLayout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
}

public void PlayDemo(View view) {
Intent playDemoIntent = new Intent(App.getApplication(), Player.class);
String Aid = aidEditText.getText().toString();
playDemoIntent.putExtra("AID", Aid);
startActivity(playDemoIntent);
private void setupDrawerContent(NavigationView navigationView) {
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
return true;
}
});
}
private void setupDrawerContent(NavigationView navigationView) {
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
return true;
}
});
}
}
Expand Up @@ -75,12 +75,19 @@ protected void onResume() {
if (mDanmakuView != null && mDanmakuView.isPrepared() && mDanmakuView.isPaused()) {
mDanmakuView.resume();
}
if (mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
mMediaPlayer.start();
}

}

@Override
protected void onPause() {
super.onPause();
mMediaPlayer.pause();
if (mMediaPlayer!=null){
mMediaPlayer.pause();
}

if (mDanmakuView != null && mDanmakuView.isPrepared()) {
mDanmakuView.pause();
}
Expand Down
Expand Up @@ -10,15 +10,20 @@
import android.view.View;
import android.view.ViewGroup;

import me.qixingchen.mdbilibili.model.Recommend;
import me.qixingchen.mdbilibili.network.GetRecommend;


/**
* Created by farble on 2015/6/15.
*/
public class TestFragment extends Fragment {
public class TestFragment extends Fragment implements GetRecommend.RecommendCallBack {
private static final String TAG = "TestFragment";
private View rootView;
private Activity mActivity;
private RecyclerView recyclerView;
private Recommend recommend = null;
private CardAdapter cardAdapter;

@Nullable
@Override
Expand All @@ -36,10 +41,22 @@ public void onAttach(Activity activity) {
mActivity = activity;
}

@Override
public void onResume() {
super.onResume();
GetRecommend.getRecommend().setCallBack(this).GetRecommendInfo("1");
}

private void initView() {
recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new GridLayoutManager(mActivity, 2));
recyclerView.setAdapter(new CardAdapter());
cardAdapter = new CardAdapter(recommend, mActivity.getApplication());
recyclerView.setAdapter(cardAdapter);
}

@Override
public void recommendCallBack(Recommend recommend) {
this.recommend = recommend;
cardAdapter.notifyDateChanged(recommend);
}
}

0 comments on commit b272afd

Please sign in to comment.