【发布时间】:2018-05-13 11:10:06
【问题描述】:
public class AnimateToolbar extends AppCompatActivity {
private CollapsingToolbarLayout collapsingToolbar;
private AppBarLayout appBarLayout;
private DessertAdapter dessertAdapter;
private List<Dessert> persons;
private RecyclerView rv;
private Menu collapsedMenu;
private boolean appBarExpanded = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animate_toolbar);
final Toolbar toolbar = (Toolbar) findViewById(R.id.anim_toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
appBarLayout = (AppBarLayout) findViewById(R.id.appbar);
collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setTitle(getString(R.string.android_desserts));
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.header);
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@SuppressWarnings("ResourceType")
@Override
public void onGenerated(Palette palette) {
int vibrantColor = palette.getVibrantColor(R.color.primary_500);
collapsingToolbar.setContentScrimColor(vibrantColor);
collapsingToolbar.setStatusBarScrimColor(R.color.black_trans80);
}
});
私人无效初始化数据(){ 人 = 新的 ArrayList(); //当用户点击此卡片视图或回收视图时,将在 youtube 应用程序或用户移动设备上可用的浏览器中打开一个 youtube。
persons.add(new Dessert("Engine", "5.9-litre V12 engine ", R.mipmap.enginelogo));
persons.add(new Dessert("Lavery Maiss", "25 years old", R.drawable.lavery));
persons.add(new Dessert("Lillie Watts", "35 years old", R.drawable.lillie));
}
//I want to open an intent with the first position of persons so that it opens up a youtube video.
private void initializeAdapter(){
DessertAdapter adapter = new DessertAdapter(persons);
rv.setAdapter(adapter);
}
//I tried different approaches but none of them have worked out for me so far please help
//this is the adapter on which the upper recyclerview is based on
public class DessertAdapter extends RecyclerView.Adapter<DessertAdapter.DessertVh> {
public static class DessertVh extends RecyclerView.ViewHolder{
CardView cv;
TextView personName;
TextView personAge;
ImageView personPhoto;
DessertVh(View itemView){
super(itemView);
cv = (CardView)itemView.findViewById(R.id.cv);
personName = (TextView)itemView.findViewById(R.id.person_name);
personAge = (TextView)itemView.findViewById(R.id.person_age);
personPhoto = (ImageView) itemView.findViewById(R.id.person_photo);
}
}
List<Dessert> persons;
DessertAdapter(List<Dessert> persons){this.persons = persons;}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView){
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public DessertVh onCreateViewHolder(ViewGroup viewGroup, int i){
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_dessert, viewGroup,false);
DessertVh dvh = new DessertVh(v);
return dvh;
}
@Override
public void onBindViewHolder(DessertVh dessertVh, int i){
dessertVh.personName.setText(persons.get(i).name);
dessertVh.personAge.setText(persons.get(i).age);
dessertVh.personPhoto.setImageResource(persons.get(i).photoId);
}
@Override
public int getItemCount(){return persons.size();}
}
【问题讨论】:
标签: java android android-recyclerview android-cardview