如何在 recyclerview 中添加 Startapp 横幅?
How to add Startapp banner in recyclerview?
我发现在我的应用程序中添加 Startapp 的横幅有一些问题,所以如果有人可以帮助我添加它,我将不胜感激。如果有任何遗漏,请告诉我。
Mycode.java
public ParseAdapter(ArrayList<ParseItem> parseItems, Context context) {
this.parseItems = parseItems;
this.context = context;
dialog = new Dialog(context);
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.parse_item, parent, false);
return new ViewHolder(view);}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
ParseItem parseItem = parseItems.get(position);
holder.textView.setText(parseItem.getTitle());
holder.duration.setText(parseItem.getSongTime());
holder.artist.setText(parseItem.getArtist());
Glide.with(context).load(parseItem.getImgUrl()).into(holder.imageView);
}
@Override
public int getItemCount() {
return parseItems.size();
}
“横幅”需要另一种布局。假设您需要将横幅添加为回收站视图中的顶部项目。
首先是getItemCount加1:
override public fun getItemCount() = parseItems.size + 1
然后覆盖 getItemViewType 函数,让适配器知道哪一行需要哪种布局:
override public fun getItemViewType(position:Int) {
if (position == 0) // top row
return R.layout.row_banner
else
return R.layout.parse_item
}
然后从视图类型创建视图:
override public fun onCreateViewHolder(parent:ViewGroup, viewType:Int) : ViewHolder
{
val view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false)
return new ViewHolder(view)
}
注意viewType参数是你在getItemViewType中return的,一般我直接用layout id。
然后绑定行:
override public fun onBindViewHolder(hodler: ViewHolder holder, position:Int) {
if (position == 0) {
// the banner !
return
}
ParseItem parseItem = parseItems.get(position - 1);
}
我发现在我的应用程序中添加 Startapp 的横幅有一些问题,所以如果有人可以帮助我添加它,我将不胜感激。如果有任何遗漏,请告诉我。
Mycode.java
public ParseAdapter(ArrayList<ParseItem> parseItems, Context context) {
this.parseItems = parseItems;
this.context = context;
dialog = new Dialog(context);
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.parse_item, parent, false);
return new ViewHolder(view);}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
ParseItem parseItem = parseItems.get(position);
holder.textView.setText(parseItem.getTitle());
holder.duration.setText(parseItem.getSongTime());
holder.artist.setText(parseItem.getArtist());
Glide.with(context).load(parseItem.getImgUrl()).into(holder.imageView);
}
@Override
public int getItemCount() {
return parseItems.size();
}
“横幅”需要另一种布局。假设您需要将横幅添加为回收站视图中的顶部项目。
首先是getItemCount加1:
override public fun getItemCount() = parseItems.size + 1
然后覆盖 getItemViewType 函数,让适配器知道哪一行需要哪种布局:
override public fun getItemViewType(position:Int) {
if (position == 0) // top row
return R.layout.row_banner
else
return R.layout.parse_item
}
然后从视图类型创建视图:
override public fun onCreateViewHolder(parent:ViewGroup, viewType:Int) : ViewHolder
{
val view = LayoutInflater.from(parent.getContext()).inflate(viewType, parent, false)
return new ViewHolder(view)
}
注意viewType参数是你在getItemViewType中return的,一般我直接用layout id。
然后绑定行:
override public fun onBindViewHolder(hodler: ViewHolder holder, position:Int) {
if (position == 0) {
// the banner !
return
}
ParseItem parseItem = parseItems.get(position - 1);
}