Skip to content

Instantly share code, notes, and snippets.

@nightbear1009
Created February 8, 2015 15:41
Show Gist options
  • Save nightbear1009/bd09fdbd30f92504290f to your computer and use it in GitHub Desktop.
Save nightbear1009/bd09fdbd30f92504290f to your computer and use it in GitHub Desktop.
SpanSizeLookUp RecyclerView
package ripple.ted.com.multilayoutrecyclerview;
import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private RecyclerView mRecyclerview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerview = (RecyclerView)findViewById(R.id.recyclerview);
GridLayoutManager manager = new GridLayoutManager(this,3);
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if(position == 14){
return 2;
}else if(position == 16){
return 3;
}
return 1;
}
});
mRecyclerview.setLayoutManager(manager);
mRecyclerview.setAdapter(new MyAdapter());
}
public static class MyViewHolder extends RecyclerView.ViewHolder{
private TextView textView;
public MyViewHolder(View itemView) {
super(itemView);
textView = (TextView)itemView.findViewById(R.id.textview);
}
}
public static class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view= inflater.inflate(R.layout.list_item,parent,false);
return new MyViewHolder(view) ;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
((MyViewHolder)holder).textView.setText("position "+position);
}
@Override
public int getItemCount() {
return 200;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment