android - 如何从 Item.java 文件获取方法 CardListAdapter.java 文件?
问题描述
我已经创建了一个Item.java
具有必要的 getter 和 setter 方法的模型类,但我无法从我的适配器类访问这些getter
和方法。setter
我不知道是什么问题。
任何帮助都将是非常可观的。我在下面发布了相关的课程。如果还有什么需要请评论。
1)模型类:Item.java
package com.shinysoftware.hp.androidswiperecycler.Model;
public class Item {
String thumbnail;
String price;
String name;
String description;
int id;
public Item(){
}
public String getThumbnail ()
{
return thumbnail;
}
public void setThumbnail (String thumbnail)
{
this.thumbnail = thumbnail;
}
public String getPrice ()
{
return price;
}
public void setPrice (String price)
{
this.price = price;
}
public String getName ()
{
return name;
}
public void setName (String name)
{
this.name = name;
}
public String getDescription ()
{
return description;
}
public void setDescription (String description)
{
this.description = description;
}
public int getId ()
{
return id;
}
public void setId (int id)
{
this.id = id;
}
}
2)适配器类:CardListAdapter.java
导入 com.shinysoftware.hp.androidswiperecycler.Model.Item;
public class CardListAdapter extends RecyclerView.Adapter<CardListAdapter.MyViewHolder> {
private Context context;
private List<Item> list;
public CardListAdapter(Context context,List<Item> list) {
this.context = context;
this.list = list;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View itemview=LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.card_list_item,viewGroup,false);
return new MyViewHolder(itemview);
}
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
final Item item=list.get(position);
// BELOW IS MY ERROR LINE. I CAN'T GET MY METHOD (getName())
holder.name.setText(item.getName());
}
@Override
public int getItemCount() {
return list.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
public TextView name,description,price;
public ImageView thumbnail;
public RelativeLayout viewBackground,viewForeground;
public MyViewHolder(View itemView) {
super(itemView);
name=itemView.findViewById(R.id.name);
description=itemView.findViewById(R.id.description);
price=itemView.findViewById(R.id.price);
thumbnail=itemView.findViewById(R.id.thumbnail);
viewBackground=itemView.findViewById(R.id.view_background);
viewForeground=itemView.findViewById(R.id.view_foreground);
}
}
}
解决方案
适配器中的项目和您的实际项目模型是不同的对象,只是名称相同,数据模型使用更好的命名和唯一性。
推荐阅读
- applescript - 如何在 Automator 中设置背景颜色和文件名文本?
- ios - 在 IOS 上获取用户特定 ID
- git - VS Code 阶段更改快捷方式
- .htaccess - 带有 URL 参数的 htaccess 重定向
- sql - 如何将 SQL 导入 R 的 dplyr?
- php - Image-Workshop:图像中的中心文本
- python - 为什么 Python 在训练多个 Keras NN 时会在完全相同的时间点崩溃?
- processing - 使用 Pvector 在处理中跳跃现实
- c++ - 声明指针时更改 asterick 的位置
- html - iOS 13.3 渐进式 Web 应用元标记不起作用