我正在我的Android应用程序中实现Recycleview,同时滚动循环视图挂起并且不能平滑滚动。
以下是我的代码 -
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_container_ll"
android:background="@color/app_bg_color"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="320dp"
android:elevation="8dp"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="320dp"
android:background="@color/app_bg_color"
app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
app:layout_collapseMode="pin">
<include
android:id="@+id/profile_header"
layout="@layout/profile_header_view"/>
</RelativeLayout>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/simpleRecyclerView"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@color/transparent_color"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
任何人都可以帮我解决这个问题。非常感谢。
TIA
EDITED
以下是我的适配器类 -
public class UserPostRecycleAdapter extends RecyclerView.Adapter<UserPostRecycleAdapter.ViewHolder>{
private Context mContext;
private ArrayList<PostOfUsersModel> mList;
public UserPostRecycleAdapter(Context context){
mList=new ArrayList<PostOfUsersModel
>();
this.mContext = context;
}
public void setList(ArrayList<PostOfUsersModel> list){
this.mList = list;
notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.post_grid_item_view, viewGroup,false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
PostOfUsersModel model = mList.get(position);
if(model.PostMediaURL.endsWith(".jpeg") || model.PostMediaURL.endsWith(".jpg")) {
holder.mPlayVideoIB.setVisibility(View.GONE);
ImageLoaderUniversal.ImageLoadSquare(mContext, model.PostMediaURL, holder.imageView, ImageLoaderUniversal.option_normal_Image);
}
else if(model.PostMediaURL.endsWith(".mp4")){
holder.mPlayVideoIB.setVisibility(View.VISIBLE);
holder.imageView.setVisibility(View.VISIBLE);
holder.imageView.setImageResource(R.mipmap.ic_default_video);
}
}
@Override
public int getItemCount() {
return null==mList?0:mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
protected ImageView imageView;
private ImageButton mPlayVideoIB;
public ViewHolder(View view) {
super(view);
this.imageView = (ImageView) view.findViewById(R.id.post_iv);
this.mPlayVideoIB = (ImageButton) view.findViewById(R.id.play_video_ib);
}
}
}