Как использовать два различных макета в recyclerviewКак использовать различные макеты в recyclerview?
У меня есть news_layout_one, news_layout_two, но я не знаю, чтобы использовать два макета, пожалуйста, помогите мне в этом коде ... спасибо
общественных класс CardAdapter расширяет RecyclerView.Adapter {
//Imageloader to load image
private ImageLoader imageLoader;
private Context context;
private Activity activity;
private LayoutInflater inflater;
private static String Title="title";
private static String Genre="genre";
private static String Rating="rating";
//List to store all superheroes
List<SuperHero> superHeroes;
//Constructor of this class
public CardAdapter(List<SuperHero> superHeroes, Context context){
super();
//Getting all superheroes
this.superHeroes = superHeroes;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.news_layout_one, parent, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
//Getting the particular item from the list
final SuperHero superHero = superHeroes.get(position);
//Loading image from url
imageLoader = CustomVolleyRequest.getInstance(context).getImageLoader();
imageLoader.get(superHero.getThumbnailUrl(), ImageLoader.getImageListener(holder.imageView, R.drawable.au_small_logo, android.R.drawable.ic_dialog_alert));
//Showing data on the views
holder.imageView.setImageUrl(superHero.getThumbnailUrl(), imageLoader);
holder.textViewName.setText(superHero.getTitle());
holder.textViewPublisher.setText(superHero.getRating());
holder.secid.setText(superHero.getSec_id());
holder.category.setText(superHero.getCategory());
holder.relativeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), News_Detail.class);
intent.putExtra("images", superHero.getThumbnailUrl());
intent.putExtra(Title, superHero.getTitle());
intent.putExtra(Genre, superHero.getGenre());
intent.putExtra(Rating, superHero.getRating());
v.getContext().startActivity(intent);
}
});
holder.share.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view)
{
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "\n" + "\n" + "http://abc.news/News/"+holder.secid.getText().toString()+"/"+holder.category.getText().toString());
view.getContext().startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return superHeroes.size();
}
class ViewHolder extends RecyclerView.ViewHolder{
//Views
public NetworkImageView imageView;
public TextView textViewName;
public TextView textViewPublisher;
public TextView secid;
public TextView category;
public RelativeLayout relativeLayout;
public ImageView share;
//Initializing Views
public ViewHolder(View itemView) {
super(itemView);
imageView = (NetworkImageView) itemView.findViewById(R.id.thumbnail);
textViewName = (TextView) itemView.findViewById(R.id.title);
textViewPublisher = (TextView) itemView.findViewById(R.id.rating);
secid = (TextView) itemView.findViewById(R.id.sec_id);
category = (TextView) itemView.findViewById(R.id.category);
relativeLayout = (RelativeLayout) itemView.findViewById(R.id.relat);
share = (ImageView) itemView.findViewById(R.id.share);
}
}
}
см. 'RecyclerView.Adapter # getItemViewType' – pskink
Вы можете вставить полный код PLS. –
полный код? и что ты собираешься делать? – pskink